ps linux系統程式的檢視

pingley發表於2012-02-27
ps linux系統程式的檢視
可以使用ps(process status)實用程式,檢視系統程式。如果不加任何引數,將會顯示出當前使用者開啟的程式。
[oracle@zeng ~]$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S   501  3377  3376  0  80   0 -  1304 -      pts/0    00:00:00 bash
0 R   501  4659  3377  4  80   0 -  1179 -      pts/0    00:00:00 ps
其中的S表示的是程式的狀態有以下6種:
R(running):該程式正在執行,或者處在執行佇列中可執行的。
S(sleep):中斷睡眠,正在等待某個事件的完成。
T(stop):停止狀態,可能是工作臺控制,或者排錯狀態。
W:2.6.xx kernel以後該欄位無效。
X(dead):程式終結狀態,該狀態應該是從來檢視到才對。
Z(zombie):殭屍程式,程式已經執行結束,但是沒有被父程式終結。
可以使用ps -ef 列出所有的系統程式。
[oracle@zeng ~]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 12:48 ?        00:00:04 /sbin/init
這裡UID:表示這個程式是由哪個使用者啟動的,PID表示的是process id,ppid parent process id 父程式id 號。STIME表示 start time 程式啟動的時間,TIME表示佔用CPU的時間。CMD表示觸發該程式的命令。
檢視下帶有pmon字串的oracle後臺程式.
[oracle@zeng ~]$ ps -ef | grep -i pmon  //不區分大小寫
oracle    4458     1  0 21:07 ?        00:00:01 ora_pmon_oracl
oracle    4615  3377  1 21:18 pts/0    00:00:00 grep -i pmon
DBA可以使用ps命令檢視,oracle後臺程式,標識出需要掛起或者kill的程式。可以使用-u選項列出在某個使用者下的所有程式。
下面命令的輸出省略了一大半。
[oracle@zeng ~]$ ps -fu oracle
UID        PID  PPID  C STIME TTY          TIME CMD
oracle    3376  3372  0 19:46 ?        00:00:00 sshd: oracle@pts/0
oracle    3377  3376  0 19:46 pts/0    00:00:00 -bash
oracle    4067     1  0 20:23 ?        00:00:00 /usr/libexec/bonobo-activation-server
根據PID可以檢視對應的程式
[oracle@zeng ~]$ ps -fp 3376
UID        PID  PPID  C STIME TTY          TIME CMD
oracle    3376  3372  0 19:46 ?        00:00:00 sshd: oracle@pts/0

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-717258/,如需轉載,請註明出處,否則將追究法律責任。

相關文章