「-9」はコマンドを強制終了するフラグですか?


回答:


21

-9はシグナル番号(この場合SIGKILL)であるため、問題のプロセスにをkill -9送信SIGKILLします。

このシグナルにより、プロセスは直ちに終了します(カーネル関数で待機している場合を除く)。シグナルを無視することも、受信プロセスがシグナルを受信した後にクリーンアップアクションを実行することもできません(つまり、シグナルハンドラーSIGKILLが呼び出されません)。SIGKILLに関するWikipediaの記事も参照してください。

私のkillコマンドのmanページから(Linux):

   The  default  signal  for  kill is TERM. Use -l or -L to list available
   signals.  Particularly useful signals include  HUP,  INT,  KILL,  STOP,
   CONT,  and  0.   Alternate  signals  may be specified in three ways: -9
   -SIGKILL -KILL.

EDITkill -lbash組み込みコマンドは)私のシステム上で次の信号名と数値を示しています。

 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
Debian kill -lでは数値もリストされています。あなたのOSは何ですか?
ファヒムミタ

興味深いことに、私はUbuntu(私の知る限りDebianベースです)を実行しています。一方、いくつかの信号のman kill数値をリストしていることに気付きました。
アンドレホルツナー

さて、にkillは、Debian squeezeのprocpsバージョン1:3.2.8-9です。はい、Ubuntuは基本的にDebianです。だから私はなぜkill -l同じものを返さないのだろうか。
ファヒムミタ

1
(実際にあなたが言うように数値をリストする)ではなく、zsh組み込みkillコマンドを実行していたことが/bin/kill
わかりました

5
@FaheemMithaシェルにkill組み込みが必要な理由は2つあります。これにより、killコマンドがジョブ番号またはジョブ名(例:)を受け入れることができますkill %1。また、killプロセス数の制限に達している場合でも使用できます。
ジル 'SO-悪であるのをやめる'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.