2008年12月2日火曜日

[Linux] ps コマンド

■psコマンド(Linux)
Linux の ps コマンドは、BSD 系 Unix のものに似ているが、 System V 系 Unix (Unix 98標準)のオプションも受け付ける。 BSD 系のものは、オプションの前に(-)を付けない。

ps
Linuxの ps(process) コマンドは、引数を付けないで実行すると、 プロセス識別子、端末名、 CPU時間、コマンド名を表示する。

----------------------------------------------------------------------
% ps [←]
PID TTY TIME CMD
23788 pts/0 00:00:00 tcsh
23819 pts/0 00:00:00 emacs
23822 pts/0 00:00:00 cat
23958 pts/0 00:00:00 ps
% []
----------------------------------------------------------------------

ただし、そのままでは、psコマンドを実行した端末と結びつけられているプロセスしか表示しない。

◆ps x
「-x」オプションを使うと、他の端末に結び付いているプロセスも表示する。

----------------------------------------------------------------------
% ps x [←]
PID TTY STAT TIME COMMAND
23788 pts/0 S 0:00 -tcsh
23819 pts/0 T 0:00 emacs -nw
23822 pts/0 T 0:00 cat
23967 pts/1 S 0:00 -tcsh
23996 pts/1 S 0:00 /bin/sh /usr/local/netscape/run-mozilla.sh /usr/local
24000 pts/1 S 0:03 /usr/local/netscape/mozilla-bin
24002 pts/1 S 0:00 /usr/local/netscape/mozilla-bin
24003 pts/1 S 0:00 /usr/local/netscape/mozilla-bin
24004 pts/1 S 0:00 /usr/local/netscape/mozilla-bin
24013 pts/0 R 0:00 ps x
% []
----------------------------------------------------------------------

◆ps -l, ps l (long)
プロセスが使っているメモリの大きさ (SZ、VSZ、RSS)、親プロセスの PID (PPIID(Parent PID))優先順位(PRI(priority)) などの プロセスの資源と属性を表示する。

----------------------------------------------------------------------
% ps -l [←]
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
100 S 1013 23788 23786 0 71 0 - 1025 rt_sig pts/0 00:00:00 tcsh
000 T 1013 23819 23788 0 69 0 - 2210 do_sig pts/0 00:00:00 emacs
000 T 1013 23822 23788 0 69 0 - 585 do_sig pts/0 00:00:00 cat
000 R 1013 24029 23788 0 74 0 - 817 - pts/0 00:00:00 ps
% ps l [←]
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
100 1013 23788 23786 13 0 4100 2152 rt_sig S pts/0 0:00 -tcsh
000 1013 23819 23788 9 0 8840 4540 do_sig T pts/0 0:00 emacs -nw
000 1013 23822 23788 9 0 2340 552 do_sig T pts/0 0:00 cat
000 1013 24030 23788 12 0 3268 1304 - R pts/0 0:00 ps l
% []
----------------------------------------------------------------------

Linux の ps は、ps -l と ps l で動きが若干異なる。-l は、System V 風、 l は、BSD 風である。

◆ps u
ps l, ps -l と同様に詳しい表示をする。

----------------------------------------------------------------------
% ps u [←]
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
yas 23788 0.0 0.8 4100 2152 pts/0 S 21:21 0:00 -tcsh
yas 23819 0.0 1.7 8840 4540 pts/0 T 21:21 0:00 emacs -nw
yas 23822 0.0 0.2 2340 552 pts/0 T 21:21 0:00 cat
yas 24047 0.0 0.3 2840 904 pts/0 R 22:04 0:00 ps u
% []
----------------------------------------------------------------------

◆ps -e (every)
全てのプロセスを表示する。System V 風。

◆ps a (all)
端末と結び付いている全てのプロセスを表示する。 x も付けた方がよい。

◆ps ax (all)
全てのプロセスを表示する。BSD風。

◆ps aux
a,u, x の組合わせ。全てのプロセスを表示する時に、よく使われる。
----------------------------------------------------------------------
http://www.coins.tsukuba.ac.jp/~yas/coins/syspro-2004/2004-04-12/ps-command.html

0 件のコメント: