Linux

為什麼“w”命令會報告錯誤的登錄使用者數?

  • May 27, 2020

我已經從 tty6 登錄,然後退出。現在,w從內部終端執行命令unity會得到以下輸出:

mark@mark-Latitude-D620:~$ w
19:27:19 up  2:40,  3 users,  load average: 0.41, 0.61, 0.46
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
mark     tty7                      16:47    2:39m  5:06   0.22s gnome-session -
mark     pts/2    :0.0             19:13    7.00s  0.30s  0.00s w

該命令不應該只列出登錄使用者嗎?我正在使用 Ubuntu 12.10。

編輯

請注意,該w命令報告 3 個使用者已登錄(在標題中),但僅顯示 2 個條目。

w這個輸出沒有什麼令人驚訝的。如果您查看TTY標題下的第二列,它會顯示兩個登錄名來自tty7(不是tty6!)和pts/2. 現在tty7是您的圖形登錄(參見WHAT專欄),pts/2是一個偽終端設備,它是您為執行w命令而打開的終端模擬器(再次參見WHAT專欄)。

更新

似乎有時會出現錯誤報告的使用者數量,因為您/var/run/utmp使用w的 . 已損壞。

我在 Internet 上找到建議的解決方案是截斷此文件(可能在單使用者模式下)並重試登錄:

# >/var/run/utmp
# reboot

但是,請謹慎行事,建議在您使用 nuke 時登錄的使用者/var/run/utmp會遇到“奇怪”,這就是人們建議您在單使用者模式下執行此操作的原因。

來源

引用自:https://unix.stackexchange.com/questions/92784