プロセスを確認するコマンド ps

プロセスをtop,psで確認!

プロセスの確認は基本的な操作のひとつ!

実行されているプログラムをプロセスといいます。あるプログラムが実行されているか?を確認するためにプロセスの起動を確認するのは基本です。プロセスを確認するコマンドはpsコマンドが代表例ですが、他にもプロセスを確認するコマンドはあります。

psコマンドの使い方や見方を簡単に!

psコマンドでプロセスを確認することができます。オプションを指定すると様々な情報を確認できます。

まずは何もオプションを指定せずに実行してみます。

$ ps
PID TTY TIME CMD
9168 pts/1 00:00:00 less
9169 pts/1 00:00:00 ps
10142 pts/1 00:00:01 bash

[1]+ 停止 less

上の例では3つのプロセスの起動が確認できます。PIDはプロセスIDのことでひとつのプロセスに与えられる固有の数値です。TTYは端末デバイスのことで別コンソールからの接続は別の数字が割り当てられます。一番右にプロセス名が記述されています。

$ ps
PID TTY TIME CMD
9251 pts/0 00:00:00 bash →別のユーザがssh接続するとpts/0と別の数字が表示
9272 pts/0 00:00:00 top
9273 pts/0 00:00:00 ps

[1]+ 停止 top

psコマンドでよく使われるオプションであるauxはハイフンがないオプションですがこれはUnixではなくBSD由来のオプションの指定方法だからです。

ps aux

ps auxではa=すべてのプロセス、u=より詳しく、x=制御端末がないプロセスも表示

という意味です。x無しで実行すると

$ ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 493 0.0 3.9 187604 37444 tty7 Ssl+ 7月23 0:27 /usr/lib/xorg/Xorg :0 -seat seat0 -au
root 494 0.0 0.2 5620 2472 tty1 Ss 7月23 0:00 /bin/login -f
pi 753 0.0 0.3 5044 3600 tty1 S+ 7月23 0:00 -bash
pi 9168 0.0 0.0 3308 444 pts/1 T 20:37 0:00 less
pi 9251 0.0 0.3 5144 3720 pts/0 Ss+ 20:42 0:00 -bash
pi 9272 0.0 0.2 6320 2516 pts/0 T 20:43 0:00 top
pi 9379 0.0 0.2 6340 2548 pts/1 R+ 20:50 0:00 ps au
pi 10142 0.0 0.4 5256 3884 pts/1 Ss 7月24 0:01 -bash

となります。先ほどよりも表示項目が列、行ともに多いです。列が増えたのはuオプションによるものです。行はaオプションです。このコマンドを実行した端末はpts/1ですが、pts/0やtty7など別のttyのプロセスも表示されています。これにxオプションを足すと

$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 112 0.0 1.0 41436 9624 ? Ss 7月23 0:05 /lib/systemd/systemd-journald
pi 9251 0.0 0.3 5144 3720 pts/0 Ss+ 20:42 0:00 -bash
pi 9272 0.0 0.2 6320 2516 pts/0 T 20:43 0:00 top
pi 9412 0.0 0.2 6340 2472 pts/1 R+ 20:53 0:00 ps aux
root 10130 0.0 0.6 12236 6388 ? Ss 7月24 0:00 sshd: pi [priv]
pi 10139 0.0 0.4 12580 4716 ? R 7月24 0:03 sshd: pi@pts/1
pi 10142 0.0 0.4 5256 3884 pts/1 Ss 7月24 0:01 -bash
www-data 24683 0.0 0.3 235968 2988 ? Sl 00:00 0:00 /usr/sbin/apache2 -k start
一気に表示項目が増えました。実はもっとたくさん行がありますが省略しています。ユーザーが立ち上げていないシステムが立ち上げたプロセスが表示されるようになります。sshdなどのデーモンなども表示できるようになるのがauxオプションです。サーバという観点ではデーモンの起動を確認する必要があるのでこのps auxコマンドはよく利用します。

他にもfを加えてツリー状に表示したり、wを入れて表示を拡大するオプションも有用です(ps auwwxf)。

pstreeでツリー表示

プロセスは親プロセスが子プロセスを起動していくため、プロセスの親子関係を表すとツリー状になります。これを表示するのがpstreeコマンドです。すべてのプロセスはinitiプロセス、systemdであればsystemdが頂点となってプロセスを起動していきます。

プロセスツリーの頂点にsystemdがある

プロセスツリーの頂点にsystemdがある

topコマンド リアルタイムにプロセス表示

プロセスはまさに今起動しているので、CPUやメモリなどのリソースを食っています。この状態をリアルタイムに表示したい場合はtopコマンドを利用します。

$ topと入力すると起動します。リアルタイムに更新していきます。終了するにはqを押します。

topコマンド

topコマンド

コメントを残す

メールアドレスが公開されることはありません。