Linux
為什麼“w”命令會報告錯誤的登錄使用者數?
我已經從 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
會遇到“奇怪”,這就是人們建議您在單使用者模式下執行此操作的原因。來源