ps: 報告各個處理程序 (process) 的狀態.


在一個多工的環境裡, 我們常常需要知道一些程式執行時的資訊, 於是我們可以用 ps 這 個指令來察看這些訊息, 例如我們用選項 '-e' 來列出簡略的資訊:
[mars.cs.nccu.edu.tw:/home/stud82/s8227] ps -e
  PID TT  S           TIME COMMAND
    0 ??  R <   3-00:39:07 [kernel idle]
    1 ??  S        0:00.19 /sbin/init -a
    2 ??  I        0:00.00 [exception hdlr]
   12 ??  S        0:16.50 /sbin/update
   93 ??  I        0:00.55 /usr/sbin/syslogd
   95 ??  I        0:00.04 /usr/sbin/binlogd
  104 ??  S        0:17.05 /usr/sbin/routed -q
  146 ??  I        0:00.11 /usr/sbin/portmap
  155 ??  I        0:00.06 /usr/sbin/ypbind -S alpha,jupiter,venus -ypset
  165 ??  I        0:00.05 /usr/sbin/mountd -i
  167 ??  I        0:00.04 /usr/sbin/nfsd 8
  169 ??  I        0:00.00 /usr/sbin/nfsd 8
  170 ??  U        0:00.03 /usr/sbin/nfsiod 7
  171 ??  I        0:00.00 /usr/sbin/nfsd 8
  172 ??  I        0:00.00 /usr/sbin/nfsd 8
  173 ??  I        0:00.00 /usr/sbin/nfsd 8
  174 ??  I        0:00.00 /usr/sbin/nfsd 8
  175 ??  I        0:00.00 /usr/sbin/nfsd 8
  176 ??  I        0:00.00 /usr/sbin/nfsd 8
  177 ??  U        0:00.01 /usr/sbin/nfsiod 7
  178 ??  U        0:00.01 /usr/sbin/nfsiod 7
  179 ??  U        0:00.01 /usr/sbin/nfsiod 7
  180 ??  U        0:00.01 /usr/sbin/nfsiod 7
  181 ??  U        0:00.01 /usr/sbin/nfsiod 7
  182 ??  U        0:00.01 /usr/sbin/nfsiod 7
  185 ??  I        0:00.05 /usr/sbin/rpc.statd
  187 ??  I        0:00.08 /usr/sbin/rpc.lockd
  229 ??  I        0:02.90 -accepting connections (sendmail)
  274 ??  I        0:00.59 /usr/sbin/mold
  277 ??  I        0:07.16 /usr/sbin/internet_mom
  286 ??  I        0:03.43 /usr/sbin/snmp_pe
  294 ??  S        0:00.11 /usr/sbin/inetd
  299 ??  I        0:00.32 /usr/sbin/cron
  337 ??  I        0:00.10 /usr/bin/X11/xdm -config /usr/lib/X11/xdm/xdm-config
  341 ??  S       11:30.91 /usr/bin/X11/X -auth /usr/lib/X11/xdm/A:0-aaakra
  518 ??  R        1:29.99 -:0 (xdm)
  529 ??  I        0:00.20 /usr/bin/X11/dxconsole -geometry 480x150-0-0 -daemon
  742 ??  S        0:00.14 rlogind
  340 co  I  +     0:00.09 /usr/sbin/getty console console vt100
  743 p1  S        0:00.30 -ksh (ksh)
  748 p1  R  +     0:00.18 ps -e
[mars.cs.nccu.edu.tw:/home/stud82/s8227] 

ps -e這個指令的結果會因不同的 OS 而有差異, 但是大多數都會顯示這幾 項訊息:

如果用 '-ef' 的選項則會把所有的資訊全部列出來:

[mars.cs.nccu.edu.tw:/home/stud82/s8227] ps -ef
USER       PID  PPID %CPU STARTED  TT         TIME COMMAND
root         0     0  0.0   Jul 19 ??   3-00:40:00 [kernel idle]
root         1     0  0.0   Jul 19 ??      0:00.19 /sbin/init -a
root         2     0  0.0   Jul 19 ??      0:00.00 [exception hdlr]
root        12     1  0.0   Jul 19 ??      0:16.51 /sbin/update
root        93     1  0.0   Jul 19 ??      0:00.55 /usr/sbin/syslogd
root        95     1  0.0   Jul 19 ??      0:00.04 /usr/sbin/binlogd
root       104     1  0.0   Jul 19 ??      0:17.05 /usr/sbin/routed -q
root       146     1  0.0   Jul 19 ??      0:00.11 /usr/sbin/portmap
root       155     1  0.0   Jul 19 ??      0:00.06 /usr/sbin/ypbind -S alpha,ju
root       165     1  0.0   Jul 19 ??      0:00.05 /usr/sbin/mountd -i
root       167     1  0.0   Jul 19 ??      0:00.04 /usr/sbin/nfsd 8
root       169   167  0.0   Jul 19 ??      0:00.00 /usr/sbin/nfsd 8
root       170     1  0.0   Jul 19 ??      0:00.03 /usr/sbin/nfsiod 7
root       171   167  0.0   Jul 19 ??      0:00.00 /usr/sbin/nfsd 8
root       172   167  0.0   Jul 19 ??      0:00.00 /usr/sbin/nfsd 8
root       173   167  0.0   Jul 19 ??      0:00.00 /usr/sbin/nfsd 8
root       174   167  0.0   Jul 19 ??      0:00.00 /usr/sbin/nfsd 8
root       175   167  0.0   Jul 19 ??      0:00.00 /usr/sbin/nfsd 8
root       176   167  0.0   Jul 19 ??      0:00.00 /usr/sbin/nfsd 8
root       177   170  0.0   Jul 19 ??      0:00.01 /usr/sbin/nfsiod 7
root       178   170  0.0   Jul 19 ??      0:00.01 /usr/sbin/nfsiod 7
root       179   170  0.0   Jul 19 ??      0:00.01 /usr/sbin/nfsiod 7
root       180   170  0.0   Jul 19 ??      0:00.01 /usr/sbin/nfsiod 7
root       181   170  0.0   Jul 19 ??      0:00.01 /usr/sbin/nfsiod 7
root       182   170  0.0   Jul 19 ??      0:00.01 /usr/sbin/nfsiod 7
root       185     1  0.0   Jul 19 ??      0:00.05 /usr/sbin/rpc.statd
root       187     1  0.0   Jul 19 ??      0:00.08 /usr/sbin/rpc.lockd
root       229     1  0.0   Jul 19 ??      0:02.90 -accepting connections (send
root       274     1  0.0   Jul 19 ??      0:00.59 /usr/sbin/mold
root       277     1  0.0   Jul 19 ??      0:07.16 /usr/sbin/internet_mom
root       286     1  0.0   Jul 19 ??      0:03.43 /usr/sbin/snmp_pe
root       294     1  0.0   Jul 19 ??      0:00.11 /usr/sbin/inetd
root       299     1  0.0   Jul 19 ??      0:00.32 /usr/sbin/cron
root       337     1  0.0   Jul 19 ??      0:00.10 /usr/bin/X11/xdm -config /us
root       341   337  0.0   Jul 19 ??     11:31.03 /usr/bin/X11/X -auth /usr/li
root       518   337  0.0   Jul 20 ??      1:30.03 -:0 (xdm)
root       529     1  0.0   Jul 20 ??      0:00.20 /usr/bin/X11/dxconsole -geom
root       742   294  0.0 18:03:06 ??      0:00.16 rlogind
root       340     1  0.0   Jul 19 co      0:00.09 /usr/sbin/getty console cons
s8227      743   742  0.0 18:03:06 p1      0:00.32 -ksh (ksh)
root       749   743  0.0 18:04:02 p1      0:00.18 ps -ef
[mars.cs.nccu.edu.tw:/home/stud82/s8227] 
這裡多出了幾項訊息: