LPIC プロセス管理周り
psコマンド
言うまでもなし。-
を付けないオプションの利用が推奨されている。
a
: 他のユーザーのプロセスも表示u
: 実行ユーザー名も表示x
: デーモンも表示
自分が起動しているプロセスを表示
$ ps
PID TTY TIME CMD
21902 pts/4 00:00:00 bash
24919 pts/4 00:00:00 ps
システム上のすべてのプロセスを表示
$ ps ax | head
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /sbin/init
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [migration/0]
4 ? S 0:03 [ksoftirqd/0]
5 ? S 0:00 [migration/0]
6 ? S 0:02 [watchdog/0]
7 ? S 2:35 [events/0]
8 ? S 0:00 [cgroup]
9 ? S 0:00 [khelper]
topコマンド
継続的にプロセスの監視が行える。
$ top
top - 04:05:56 up 3 days, 14:41, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 502412k total, 218252k used, 284160k free, 40980k buffers
Swap: 1015800k total, 2032k used, 1013768k free, 70612k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1160 kisho 20 0 28436 4064 1080 S 0.3 0.8 4:09.49 tmux
24923 kisho 20 0 15020 1272 988 R 0.3 0.3 0:00.03 top
1 root 20 0 19228 988 808 S 0.0 0.2 0:01.13 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:03.90 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:02.30 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 2:35.93 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
13 root 20 0 0 0 0 S 0.0 0.0 0:03.98 sync_supers
pstreeコマンド
プロセスの親子構造を木構造で表示
$ pstree
init─┬─auditd───{auditd}
├─crond
├─dhclient
├─fastcgi-wrapper
├─master─┬─pickup
│ └─qmgr
├─6*[mingetty]
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───sshd───bash───tmux
├─tmux─┬─2*[bash───su───bash]
│ ├─bash───vim
│ └─bash───pstree
└─udevd───2*[udevd]
killコマンド
プロセスを停止するときに利用。kill -l
でシグナル名とシグナルIDが確認できる以下は主なシグナルIDとシグナル名
シグナル名 | シグナルID | 動作 |
---|---|---|
HUP | 1 | ハングアップ |
INT | 2 | Ctr + C |
KILL | 9 | 強制終了 |
TERM | 15 | 終了(デフォルト) |
CONT | 18 | 停止しているプロセスの再開 |
STOP | 19 | 一時停止 |
killall
コマンドではプロセスIDではなく、プロセス名でkillができる。
jobコマンド
コマンド&
として実行したコマンドはバックグラウンドで動く。
$ yum check-update
$ jobs
[1]+ Running yum check-update &
nohup コマンド
nohungup sshをログアウトしてもコマンドを実行し続けてくれる。これは便利。
$ nohup コマンド&
bg,fgコマンド
そのまんま。
niceコマンド
コマンド実行時の優先度指定nice値が低いほど優先度が高いことに注意(-20~19)
実行優先度を10低くする。
#nice -n -10 コマンド
負数を指定できるのはrootのみ
renice
コマンドで実行中のプロセスの優先度を変更できる。