本節中要介紹的不只是進程查看方面的內容,由於Linux是個多用戶系統,有時候也要了解其他用戶現在在干什麼,所以在本節中還將接觸多用戶方面的內容。同時Linux是一個多進程系統,經常需要對這些進程進行一些調配和管理;而要進行管理,首先就要知道現在的進程情況:究竟有哪些進程?進程情況如何?等等。所以需要進程查看方面的工作。
who命令
該命令主要用於查看當前在線上的用戶情況。這個命令非常有用。如果用戶想和其他用戶建立即時通訊,比如使用talk命令,那麼首先要確定的就是該用戶確實在線上,不然talk進程就無法建立起來。又如,系統管理員希望監視每個登錄的用戶此時此刻的所作所為,也要使用who命令。
who命令的常用語法格式如下:
who [imqsuwHT] [--count] [--idle] [--heading] [--help] [--message] [--mesg] [--version] [--writable] [file] [am i]
所有的選項都是可選的,也就是說可以單獨使用who命令。不使用任何選項時,who命令將顯示以下三項內容:
login name:登錄用戶名;
terminal line:使用終端設備;
login time:登錄到系統的時間。
如果給出的是兩個非選項參數,那麼who命令將只顯示運行who程序的用戶名、登錄終端和登錄時間。通常這兩個參數是“am i”,即該命令格式為:“who am i”。
下面對who命令的常用參數進行說明。
-m 和“who am i”的作用一樣,顯示運行該程序的用戶名。
-q,--count 只顯示用戶的登錄帳號和登錄用戶的數量,該選項優先級高於其他任何選項。
-s 忽略。主要是用於和其他版本的who命令兼容。
-i,-u,--idle 在登錄時間後面顯示該用戶最後一次對系統進行操作至今的時間,也就是常說的“發呆”時間。其中“.”符號代表該用戶在前1秒仍然處於活動狀態;“old”則表示該用戶空閒已經超過了24小時。
-H,--heading 顯示一行列標題。常用的標題如表4-2所示。
表4-2 who命令輸出常用標題
標 題
說 明
USER
用戶登錄帳號
LINE
用戶登錄使用終端
LOGIN-TIME
用戶登錄時間
IDLE
用戶空閒時間,即未進行操作的時間
PID
用戶登錄shell的進程ID
FROM
用戶網絡地址