PS 命令

ps命令
經常使用參數:
a  顯示全部用戶的全部進程(包括其它用戶);
u  按用戶名和啓動時間的順序來顯示進程;
x  顯示無控制終端的進程;
e  顯示全部進程,包括沒有控制端的進程;
f  用樹形格式來顯示進程;
l  長格式輸出;
w  爲了不詳細參數被截斷,能夠用多個w來讓其顯示完整(好比說ww或者是www);
o  須要查看的選項
nginx

舉例說明:多線程

# ps aux | moressh

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0  19356   680 ?        Ss   Nov23   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Nov23   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    Nov23   0:00 [migration/0]
root         30  0.0  0.0      0     0 ?        SN   Nov23   0:00 [ksmd]
root         31  0.0  0.0      0     0 ?        SN   Nov23   0:05 [khugepaged]
root         32  0.0  0.0      0     0 ?        S    Nov23   0:00 [aio/0]
root        278  0.0  0.0      0     0 ?        S    Nov23   1:58 [jbd2/sda3-8]
root        279  0.0  0.0      0     0 ?        S    Nov23   0:00 [ext4-dio-unwrit]
root        364  0.0  0.0  10808   208 ?        S<s  Nov23   0:00 /sbin/udevd -d
root        932  0.0  0.0  93176   484 ?        S<sl Nov23   0:03 auditd
root        948  0.0  0.1 249088  1564 ?        Sl   Nov23   0:02 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
rpc         990  0.0  0.0  18984   320 ?        Ss   Nov23   0:04 rpcbind
68         1087  0.0  0.1  37932  1288 ?        Ssl  Nov23   0:16 hald
root       1088  0.0  0.0  20328   340 ?        S    Nov23   0:00 hald-runner
root       1147  0.0  0.0  66632   392 ?        Ss   Nov23   0:00 /usr/sbin/sshd
root       1180  0.0  0.0 110320   356 ?        Ss   Nov23   0:00 /usr/sbin/abrtd
root       1213  0.0  0.0   4064   172 tty1     Ss+  Nov23   0:00 /sbin/mingetty /dev/tty1
--More--

ps命令輸出中包含的信息:ide

USER:進程的屬主;
PID:進程的ID;
PPID:父進程;
%CPU:進程佔用的CPU百分比;
%MEM:佔用內存的百分比;
NI:進程的NICE值,也就是進程的優先值(-20~19之間),數值越大,優先級越底;
VSZ:進程虛擬大小;
RS: 駐留中頁的數量;
TTY: 終端ID。問號表示是無終端的,也就是系統自己。
STAT: 進程狀態
        D Uninterruptible sleep (usually IO)
        R 正在運行可中在隊列中可過行的;
        S 處於休眠狀態;
        T 中止或被追蹤;        
        W 進入內存交換(從內核2.6開始無效);        
        X 死掉的進程(歷來沒見過);        
        Z 殭屍進程;        
        <</strong> 優先級高的進程        
        N 優先級較低的進程        
        L 有些頁被鎖進內存;        
        s 進程的領導者(在它之下有子進程);        
        l 多線程 (using CLONE_THREAD, like NPTL pthreads do)        
        + 位於後臺的進程組;
WCHAN:正在等待的進程資源;
START:啓動進程的時間;
TIME:進程消耗CPU的時間;
COMMAND:啓動進程的命令的名稱和參數;

ps命令的其餘用法:spa

# ps aux | grep httpd  ##查看nginx程序的進程線程

root      15665      1  0 Dec06 ?        00:00:00 nginx: master process /soft/openresty/nginx/sbin/nginx
nginx     15676  15665  0 Dec06 ?        00:00:00 nginx: worker process  

# ps axo pid,%cpu,%mem,comm | grep nginx   ##只查看pid,%cpu,%mem,comm這幾項rest

15665  0.0  0.8 nginx
15676  0.0  0.8 nginx

目前經常使用的就這麼幾個,後面又用的其餘的在添加。隊列


Tips:什麼是殭屍進程。一般,形成殭屍進程的成因是由於該進程應該已經執行完畢,或者是因故應該要終止了, 可是該進程的父進程卻沒法完整的將該進程結束掉,而形成那個進程一直存在內存當中。若是你發如今某個進程的 CMD 後面還接上 時,就表明該進程是殭屍進程。當系統不穩定的時候就容易形成所謂的殭屍進程。也有多是由於程序寫的不完善,或者是使用者的操做習慣不良等等所形成。若是你發現系統中不少殭屍進程時,記得要找出該進程的父進程,而後作個跟蹤排除問題!進程

相關文章
相關標籤/搜索