ps,kill,killallコマンド

/ LPIC / Comment[0]

ps

実行中のプロセスを表示するコマンド

# ps
PID TTY TIME CMD
16325 pts/1 00:00:00 bash
16399 pts/1 00:00:00 ps

オプションを付けずに実行するとカレントユーザが実行中のプロセスが表示される。


主なオプション
a 他のユーザのプロセスも表示
f 関係をツリー表示
u ユーザ名を表示
x 制御端末の無いバックグラウンドのプロセスも表示
e 全てのプロセスを表示
l 詳細情報を表示
p 特定のPIDのプロセス情報を表示



# ps -el
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 80 0 - 4863 poll_s ? 00:00:00 init
1 S 0 2 0 0 75 -5 - 0 kthrea ? 00:00:00 kthreadd
1 S 0 3 2 0 -40 - - 0 migrat ? 00:00:00 migration/0
1 S 0 4 2 0 75 -5 - 0 ksofti ? 00:00:00 ksoftirqd/0
5 S 0 5 2 0 -40 - - 0 watchd ? 00:00:00 watchdog/0




kill
指定したプロセスを終了させるコマンド。

$ ps -el |grep chrome
0 S 1000 15374 1 2 80 0 - 154346 poll_s ? 00:01:52 chrome

$ kill 1000
killを実行するとシグナルが送信される

主なシグナル
HUP 1 変更を反映する
KILL 9 強制終了させる
TERM 15 安全に終了させる
CONT 18 再開させる
STOP 19 中断させる
QUIT 3 coreファイルを残しながら終了する


オプションをつけずに実行すると「TERM」つまり終了させるシグナルが送信される。

もし、PID 1000のアプリケーションがフリーズしておりシグナルを受け付けないとしたら、
$ kill -9 1000
又は、
$ kill -KILL 1000
強制的に終了することが出来る。

シグナル一覧
1) SIGHUP
2) SIGINT
3) SIGQUIT
4) SIGILL
5) SIGTRAP
6) SIGABRT
7) SIGBUS
8) SIGFPE
9) SIGKILL
10) SIGUSR1
11) SIGSEGV
12) SIGUSR2
13) SIGPIPE
14) SIGALRM
15) SIGTERM
16) SIGSTKFLT
17) SIGCHLD
18) SIGCONT
19) SIGSTOP
20) SIGTSTP
21) SIGTTIN
22) SIGTTOU
23) SIGURG
24) SIGXCPU
25) SIGXFSZ
26) SIGVTALRM
27) SIGPROF
28) SIGWINCH
29) SIGIO
30) SIGPWR
31) SIGSYS
34) SIGRTMIN
35) SIGRTMIN+1
36) SIGRTMIN+2
37) SIGRTMIN+3
38) SIGRTMIN+4
39) SIGRTMIN+5
40) SIGRTMIN+6
41) SIGRTMIN+7
42) SIGRTMIN+8
43) SIGRTMIN+9
44) SIGRTMIN+10
45) SIGRTMIN+11
46) SIGRTMIN+12
47) SIGRTMIN+13
48) SIGRTMIN+14
49) SIGRTMIN+15
50) SIGRTMAX-14
51) SIGRTMAX-13
52) SIGRTMAX-12
53) SIGRTMAX-11
54) SIGRTMAX-10
55) SIGRTMAX-9
56) SIGRTMAX-8
57) SIGRTMAX-7
58) SIGRTMAX-6
59) SIGRTMAX-5
60) SIGRTMAX-4
61) SIGRTMAX-3
62) SIGRTMAX-2
63) SIGRTMAX-1
64) SIGRTMAX

全てのシグナルを覚えられなくても、実用的な1,2,9,15の4つのシグナルさえ覚えておけば大丈夫でしょう。たぶん


killall
プロセス名でkillシグナルを送れるコマンド

$ killall chrome
chromeというプロセス全てにシグナルを送るコマンド
killallのオプションはkillとまったく同じ
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可