kill シグナルの種類は以下のように入力して Enter キーを押せば表示される。
& kill -l
以下の内でよく使うのは 15 の SIGTERM ( シグターム )と 9 の SIGKILL ( シグキル )。 kill -15 は正常終了であり、kill -9 は強制終了。
1 の SIGHUP ( シグハップ ) はプロセスに対して初期化を指示、ということになる。
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
以下のように入力して Enter キーを押すと延々と情報が表示されて見づらくなってしまう。
& ps aux | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19348 1584 ? Ss Sep14 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S Sep14 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Sep14 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S Sep14 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S Sep14 0:00 [migration/0]
root 6 0.0 0.0 0 0 ? S Sep14 0:00 [watchdog/0]
root 7 0.0 0.0 0 0 ? S Sep14 0:00 [migration/1]
root 8 0.0 0.0 0 0 ? S Sep14 0:00 [migration/1]
root 9 0.0 0.0 0 0 ? S Sep14 0:00 [ksoftirqd/1]
root 10 0.0 0.0 0 0 ? S Sep14 0:00 [watchdog/1]
root 11 0.0 0.0 0 0 ? S Sep14 0:04 [events/0]
root 12 0.0 0.0 0 0 ? S Sep14 0:29 [events/1]
root 13 0.0 0.0 0 0 ? S Sep14 0:00 [cgroup]
root 14 0.0 0.0 0 0 ? S Sep14 0:00 [khelper]
root 15 0.0 0.0 0 0 ? S Sep14 0:00 [netns]
root 16 0.0 0.0 0 0 ? S Sep14 0:00 [async/mgr]
root 17 0.0 0.0 0 0 ? S Sep14 0:00 [pm]
root 18 0.0 0.0 0 0 ? S Sep14 0:00 [sync_supers]
root 19 0.0 0.0 0 0 ? S Sep14 0:00 [bdi-default]
- - - - - - - - - 以下略 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
そこで今度は grep して less に流してみると、usr99 が ksnapshot を使用し、root が grep を動かしているとの情報が表示された。
この場合 usr99 が ksnapshot でキャプチャしていて x 上 ( run level 5 ) でマウスもキーボードも動かなくなってしまっている。
故に ksnapshot のプロセス ID ( pid ) を調べるのが目的なので、 14506 がそれとなる。
& ps aux | grep ksnap | less
usr99 14506 0.5 1.0 428668 31452 ? S 14:09 0:00 ksnapshot -caption KSnapshot
root 14590 0.0 0.0 107456 880 pts/0 S+ 14:10 0:00 grep ksnap
やっと目的の pid とステータスが S ( スリープ ) とわかったので、今度は以下のように入力して Enter キーを押し、ksnapshot を正常終了させてみる。
& kill -15 14506
この時にもしも ksnapshot のプロセスがいくつも表示されるようなら、一番若い pid を用いて 正常終了をさせてみる。親プロセスの他に子プロセスがいる場合がある。
また、もしも何回 kill しても消えないような場合、また、ステータスが S ではなく D になっている場合は、kill -9 で強制終了ということさえ効かない場合もある。
何をしても、どうしても、kill シグナルを試しても、まったく状況に改善が見られない場合は、自己責任において、Ctrl + Alt キーを押したまま Back space キー で
x をブレイクさせる。その後は reboot させるなり、 startx でもう一度 x を起動させるなりすることは可能な場合もあるが、状況によってはこれも効かない場合もある。