私は通常kill
プロセスを終了するためにコマンドを使用します。時にはkill
命令だけでは殺せない場合もあります。次にオプションを使用します-9
。 killコマンドのマニュアルページを確認しました。
$ kill -l
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
-9
これらとそしての違いは何ですか-19
?
答え1
を使用すると、kill
通常(15)を送信しますSIGTERM
。 (19)は、(18)で後で再開されるSIGSTOP
プロセスを「一時停止」するために使用されます。 (9)の違いは、受信プロセスによって「キャプチャ」することができず、すぐに(そして不潔!)終了を引き起こす可能性があることです。 「キャッチできない」部分は大きな問題です。シグナルハンドラが取り付けられているプロセスで「キャッチできない」唯一のシグナルであるため、動作が保証されます。SIGCONT
SIGTERM
SIGKILL
SIGKILL
SIGKILL
SIGSTOP
私が一度技術インタビューで実際に出てきた面白い謎が欲しいなら、SIGSTOP
との違いSIGTSTP
、用途、違いを探してみてください。 (すでにヒントを与えました...)これは* NIXの知識のための素晴らしい小さな部分です。