ps aux #顯示出系統(tǒng)上的全部進程 ps -ef #顯示出系統(tǒng)上的全部進程,且顯示出PPID一欄 ps -ljF #僅顯示與本終端上開啟的進程
選項: -t 終端名稱1 終端名稱2 #指定關聯(lián)的多個終端,只會列出指定終端的進程 #/dev/目錄下保存的是系統(tǒng)中所有的設備文件,而在圖形桌面環(huán)境下啟動的虛擬終端所對應的設備文件都保存在/dev/pts目錄下。數(shù)字l表示第一個啟動的虛擬終端,2表示第二個啟動的虛擬終端,以此類推。 #這里為選項-t指定了參數(shù)/dev/pts/1,說明希望列出所有關聯(lián)到虛擬終端l的進程 -p PID1 PID2… #指定想列出的PID列表,只會列出指定pid的進程 注意:多個PID可以使用空格分開,也可使用逗號分開 -u UID1 UID2… #僅列出指定用戶的進程,可用用戶名替代UID 注意,這里說的是有效用戶UID或用戶名(Effective User ID or Effective User Name),而不是實際用戶ID或用戶名,兩者是有很大區(qū)別的:實際用戶UID或用戶名只是標識了哪個用戶創(chuàng)建了這個進程,而不會指定進程的文件訪問權限;而有效用戶UID或用戶名的意思是進程使用這個用戶的文件訪問權限作為進程本身的文件訪問權限。 對于普通程序來說,有效用戶UID或用戶名與實際用戶UID或用戶名是相同的,只有對那些設置了set-uid的程序來說,有效用戶ID或用戶名才會發(fā)生改變,也就是說,實際用戶ID不等于有效用的ID。 -C 可執(zhí)行文件名稱(ps指令最后一列CMD) 在一個用apache搭建的web服務器上,如何查看系統(tǒng)當前運行的所有apache進程? 例如:ps -C sshd 如果進程的TTY終端項顯示的都是問號?說明這些進程都沒有關聯(lián)到任何終端。在Unix/Linux的世界里,要求所有的"網絡服務進程"都不能關聯(lián)到任何一個終端,這里也驗證了這一點。
其他常用選項:
a 顯示系統(tǒng)中所有用戶的進程。 x ? ?顯示沒有控制終端的進程及后臺進程 r 顯示正在運行的進程 u ?? 以用戶為主的格式來顯示程序狀況
-A 顯示主機上所有進程,等同于-e選項 -e 此參數(shù)的效果和指定"A"參數(shù)相同。顯示所有進程
e ? ? ? ? 列出程序時,顯示每個程序所使用的環(huán)境變量。 f 用ASCII字符顯示樹狀結構,表達程序間的相互(父子)關系。 -f 全格式顯示(列出進程間父子關系) -l 按長格式顯示
-L 打印出線程的ID和線程的個數(shù),
-N 顯示所有的程序,除了執(zhí)行ps指令終端機下的程序之外。 s 采用程序信號的格式顯示程序狀況。 S 列出程序時,包括已中斷的子程序資料。
?
"-o" 參數(shù)表示以用戶自定義的格式輸出 "psr" 表示當前分配給進程運行的處理器編號 "lwp" 表示線程的ID, "ruser" 表示運行進程的用戶, "pid" 表示進程的ID , "ppid " 表示父進程的ID , "args" 表示運行的命令行及其參數(shù)
ps -eLo psr,lwp,ruser,pid,ppid,args
-ef或-eF 通常一起使用 aux 通常一起使用,顯示比-ef更全面的信息 這兩個通常可以配合-L 參數(shù)使用,將線程及線程個數(shù)顯示出來,通常是-eLf 或-eLF 當然也可以 aux -L
?
[root@kvm ~]# ps |head PID TTY TIME CMD 27939 pts/0 00:00:00 bash 29031 pts/0 00:02:33 qemu-system-x86 29324 pts/0 00:00:00 ps 29325 pts/0 00:00:00 head
[root@kvm ~]# ps a |head PID TTY STAT TIME COMMAND 2037 tty1 Ss 0:00 /sbin/mingetty /dev/tty1 2039 tty2 Ss 0:00 /sbin/mingetty /dev/tty2 2041 tty3 Ss 0:00 /sbin/mingetty /dev/tty3 2043 tty4 Ss 0:00 /sbin/mingetty /dev/tty4 2045 tty5 Ss 0:00 /sbin/mingetty /dev/tty5 2047 tty6 Ss 0:00 /sbin/mingetty /dev/tty6 27939 pts/0 Ss 0:00 -bash 27961 pts/1 Ss 0:00 -bash ..... [root@kvm ~]# ps u |head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2037 0.0 0.0 4068 452 tty1 Ss Jun11 0:00 /sbin/mingetty /dev/tty1 root 2039 0.0 0.0 4068 452 tty2 Ss Jun11 0:00 /sbin/mingetty /dev/tty2 root 2041 0.0 0.0 4068 452 tty3 Ss Jun11 0:00 /sbin/mingetty /dev/tty3 root 2043 0.0 0.0 4068 452 tty4 Ss Jun11 0:00 /sbin/mingetty /dev/tty4 root 2045 0.0 0.0 4068 452 tty5 Ss Jun11 0:00 /sbin/mingetty /dev/tty5 root 2047 0.0 0.0 4068 452 tty6 Ss Jun11 0:00 /sbin/mingetty /dev/tty6 root 27939 0.0 0.0 108360 1836 pts/0 Ss 09:05 0:00 -bash root 27961 0.0 0.0 108360 1828 pts/1 Ss 09:05 0:00 -bash ......
[root@kvm ~]# ps x |head PID TTY STAT TIME COMMAND 1 ? Ss 0:05 /sbin/init 2 ? S 0:00 [kthreadd] 3 ? S 0:02 [migration/0] 4 ? S 0:02 [ksoftirqd/0] 5 ? S 0:00 [stopper/0] 6 ? S 0:01 [watchdog/0] 7 ? S 0:07 [migration/1] 8 ? S 0:00 [stopper/1] 9 ? S 0:03 [ksoftirqd/1] .......
[root@kvm ~]# ps aux |head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 19368 1060 ? Ss Jun11 0:05 /sbin/init root 2 0.0 0.0 0 0 ? S Jun11 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Jun11 0:02 [migration/0] root 4 0.0 0.0 0 0 ? S Jun11 0:02 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S Jun11 0:00 [stopper/0] root 6 0.0 0.0 0 0 ? S Jun11 0:01 [watchdog/0] root 7 0.0 0.0 0 0 ? S Jun11 0:07 [migration/1] root 8 0.0 0.0 0 0 ? S Jun11 0:00 [stopper/1] root 9 0.0 0.0 0 0 ? S Jun11 0:03 [ksoftirqd/1]
[root@kvm ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Jun11 ? 00:00:05 /sbin/init root 2 0 0 Jun11 ? 00:00:00 [kthreadd] root 3 2 0 Jun11 ? 00:00:02 [migration/0]
C #占用的CPU百分比 STIME #程序啟動時間
USER #用戶名
UID #用戶ID(User ID) PID 進程ID(Process ID) PPID 父進程的進程ID(Parent Process id) SID 會話ID(Session id) LWP 線程號(即線程的pid) NLWP 線程的個數(shù)
PSR 進程使用的處理器,在多處理器上可以體現(xiàn)出來(即進程在哪個CPU上運行)
%CPU 進程的cpu占用率 %MEM 進程的內存占用率 VSZ 進程所使用的虛存的大?。╒irtual Size) SZ 進程用到的swap的量,這是一個粗略計算; RSS 進程使用的駐留或實際內存的大小,Kbytes字節(jié)。 TTY 與進程關聯(lián)的終端(tty)值"?"說明該進程與控制終端沒有關聯(lián) STAT 進程的狀態(tài):進程狀態(tài)使用字符表示的(STAT的狀態(tài)碼) R 運行 Runnable (on run queue) 正在運行或在運行隊列中等待。 S 可中斷的休眠狀態(tài),睡眠 Sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到信號。 I 空閑 Idle Z 僵死 Zombie(a defunct process) 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統(tǒng)調用后釋放。 D 不可中斷的休眠狀態(tài),不可中斷 Uninterruptible sleep (ususally IO) 收到信號不喚醒和不可運行, 進程必須等待直到有中斷發(fā)生。 T 終止Terminate(暫停執(zhí)行), 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行。 P 等待交換頁 W 無駐留頁has no resident pages,即沒有足夠的內存頁面可分配。 X 死掉的進程 < 高優(yōu)先序的進程 N 低優(yōu)先序的進程 L 內存頁面被鎖定 s 創(chuàng)建回話的進程,進程的領導者(在它之下有子進程); l 多線程進程(使用 CLONE_THREAD, 類似 NPTL pthreads) 是一個前臺進程組
START 進程啟動時間和日期 TIME 進程使用的總cpu時間,即進程已經執(zhí)行的時間 COMMAND 正在執(zhí)行的命令行命令 NI 優(yōu)先級(Nice) PRI 進程優(yōu)先級編號(Priority) WCHAN 目前這個程序是否正在運作當中,若為 - 表示正在運作,若進程正在睡眠,則顯示睡眠的內核函數(shù)名稱;該函數(shù)的名稱是從/root/system.map文件中獲得的。 FLAGS 與進程相關的數(shù)字標識
? 來源:http://www./content-4-117901.html
|