目次
01. psコマンド
02. サンプル
psコマンドとは
ps [オプション] |
psコマンドは、プロセスの一覧を表示するコマンドです。
オプションを使用して必要な結果を取得します。
プロセスを表示する(ps)
$ ps
PID TTY TIME CMD
2627 pts/0 00:00:00 bash
15176 pts/0 00:00:00 ps
PIDは、プロセスIDです。
TTYは端末を表します。コマンドを入力した自分の端末はpts/0となっています。
TIMEは、実行時間。
CMD コマンド名。bashと入力したpsが表示されています。
他ユーザのプロセスを表示する(ps a)
$ ps a
PID TTY STAT TIME COMMAND
1629 tty1 Ssl+ 0:00 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/
2627 pts/0 Ss 0:00 -bash
15493 pts/1 Ss 0:00 -bash
15555 pts/1 S+ 0:00 vim test3.txt
16010 pts/0 R+ 0:00 ps a
ps aは、6行目のように他の端末(pts/1)のユーザのプロセスを表示します。
7行目は、この端末で入力したpsコマンドです。
STATは、プロセスの状態です。Sはスリープ状態、Rは実行可能状態等を表します。
他ユーザのプロセスを表示する(ps -a)
$ ps -a
PID TTY TIME CMD
15555 pts/1 00:00:00 vim
16295 pts/0 00:00:00 ps
ps -aも他ユーザのプロセスを表示しますが、表示結果がps aとは異なっています。
プロセスの環境変数を表示する(ps e)
$ ps e
PID TTY STAT TIME COMMAND
2627 pts/0 Ss 0:00 -bash USER=test LOGNAME=test HOME=/home/test PATH=/usr/local/bin:/usr
15493 pts/1 Ss 0:00 -bash USER=test LOGNAME=test HOME=/home/test PATH=/usr/local/bin:/usr
15555 pts/1 S+ 0:00 vim test3.txt XDG_SESSION_ID=22 HOSTNAME=localhost TERM=xterm SHELL=/
16980 pts/0 R+ 0:00 ps e XDG_SESSION_ID=1 HOSTNAME=localhost TERM=xterm SHELL=/bin/bash H
ps eは、環境変数まで表示します。
ただし、上記の環境変数は途中で途切れてしまっています。
3行目は、PATH=/usr/local/bin:/usrまでしか表示されていません。
psコマンドの出力結果の表示領域を増やす(ps ew)
$ ps ew
PID TTY STAT TIME COMMAND
2627 pts/0 Ss 0:00 -bash USER=test LOGNAME=test HOME=/home/test PATH=/usr/local/bin:/usr/bin MAIL=/var/mail/test SHELL=/bin
15493 pts/1 Ss 0:00 -bash USER=test LOGNAME=test HOME=/home/test PATH=/usr/local/bin:/usr/bin MAIL=/var/mail/test SHELL=/bin
15555 pts/1 S+ 0:00 vim test3.txt XDG_SESSION_ID=22 HOSTNAME=localhost TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=1
17717 pts/0 R+ 0:00 ps ew XDG_SESSION_ID=1 HOSTNAME=localhost TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=192.168.15
ps eにwをつけると、表示する領域が長くなります。
CPUとメモリの使用率も表示する(ps u)
$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
test 2627 0.0 0.2 116604 2124 pts/0 Ss 17:35 0:00 -bash
test 15493 0.0 0.3 116712 3160 pts/1 Ss 20:22 0:00 -bash
test 15555 0.0 0.5 149472 5068 pts/1 S+ 20:22 0:00 vim test3.txt
test 18318 0.0 0.1 155448 1876 pts/0 R+ 20:59 0:00 ps u
ps uでCPU使用率とメモリ使用率が表示されます。
全てのプロセスを表示する(ps ax)
$ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
2 ? S 0:00 [kthreadd]
4 ? S< 0:00 [kworker/0:0H]
以下省略
ps axにCPU使用率とメモリ使用率を表示するuを追加したps auxがよく使用されます。
プロセスを絞る場合はパイプ(|)とgrep を追加します。
パイプは左側のコマンドの結果を右側に繋げます。
例:ps aux | grep 2050
プロセスを階層構造で表示する(ps axf)
$ ps axf
fオプションは、プロセスを階層構造で表示します。
親プロセスも表示する(ps l(小文字のエル))
$ $ ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
0 1000 2627 2624 20 0 116604 2124 do_wai Ss pts/0 0:00 -bash
0 1000 15493 15492 20 0 116712 3160 do_wai Ss pts/1 0:00 -bash
0 1000 15555 15493 20 0 149472 5068 poll_s S+ pts/1 0:00 vim test3.txt
0 1000 20918 2627 20 0 153324 1524 - R+ pts/0 0:00 ps l
l(小文字のエル)は、親プロセス(PPID)も表示します。
関連の記事