私は、すべてのシグナルがKillコマンドを使ってプロセス上で送信される可能性があるのか疑問に思っていました。コマンドKILLはすべての信号を送信できますか?
私はKill and Signal(セクション7)のマニュアルを見てきましたが、Linuxに存在するシグナルがすべてKillで使用できるかどうかはわかりません。
ありがとうございました
私は、すべてのシグナルがKillコマンドを使ってプロセス上で送信される可能性があるのか疑問に思っていました。コマンドKILLはすべての信号を送信できますか?
私はKill and Signal(セクション7)のマニュアルを見てきましたが、Linuxに存在するシグナルがすべてKillで使用できるかどうかはわかりません。
ありがとうございました
はい、できます。多くの方法があります。最も簡単な方法は次のとおりです。
kill -signalnumber pid1 pid2 ...
はい、可能です。
あなたはこのようにそれを使用することができます:
kill [options] <pid> [...]
例:
kill -USR1 6127
これはPID 6127の信号と
さもないと処理するために、USR1信号を送信します番号:
kill -9 6127
このすべてが死滅マニュアルの詳細であり、あなたはそれがあなたの端末にman kill
を入力して見ることができ、出力は次のようになります。
NAME キル - プロセスにシグナルを送る
書式 キル[オプション] [...]
説明 キルのデフォルトのシグナルはTERMです。使用可能なシグナルをリストするには、-lまたは-Lを使用します。特に有用な信号には、HUP、INT、 KILL、STOP、CONT、および0が含まれます。代替信号は、 の方法で指定できます。 -9、-SIGKILLまたは-KILL。負のPID値を使用してプロセスグループ全体を選択することができます。 psコマンド出力のPGID列を参照してください。 PIDが-1の場合は特殊です。 kill プロセス自体とinitを除くすべてのプロセスを示します。
あなたは信号の短いリストを表示するには、kill -l
を入力することもできますし、説明を信号の完全なリストを表示するためにman 7 signal
と信号で(7)のマニュアルを見てみることができます。
標準信号 Linuxは以下の標準信号をサポートしています。 「値」 列に示されているように、いくつかの信号番号はアーキテクチャに依存します。 (3つの値が与えられた場合、最初のものはアルファとsparcの場合は通常 、x86、アーム、その他ほとんどのアーキテクチャの場合は真ん中のもの、mipsの場合は最後のものが有効です(parisc の値は表示されません。シグナル番号のLinuxカーネルソース その アーキテクチャ。)は、対応するアーキテクチャ上にシグナルが存在しないことを示します。)
First the signals described in the original POSIX.1-1990 standard. Signal Value Action Comment ────────────────────────────────────────────────────────────────────── SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGINT 2 Term Interrupt from keyboard SIGQUIT 3 Core Quit from keyboard SIGILL 4 Core Illegal Instruction SIGABRT 6 Core Abort signal from abort(3) SIGFPE 8 Core Floating point exception SIGKILL 9 Term Kill signal SIGSEGV 11 Core Invalid memory reference SIGPIPE 13 Term Broken pipe: write to pipe with no readers SIGALRM 14 Term Timer signal from alarm(2) SIGTERM 15 Term Termination signal SIGUSR1 30,10,16 Term User-defined signal 1 SIGUSR2 31,12,17 Term User-defined signal 2 SIGCHLD 20,17,18 Ign Child stopped or terminated SIGCONT 19,18,25 Cont Continue if stopped SIGSTOP 17,19,23 Stop Stop process SIGTSTP 18,20,24 Stop Stop typed at terminal SIGTTIN 21,21,26 Stop Terminal input for background process SIGTTOU 22,22,27 Stop Terminal output for background process The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.
や信号についての詳細情報がたくさん。 ;)
我々は
とすることにより処理する信号を送ることができる-signal PID1を殺す[PID2 ... PIDN]
殺す-9 1379 3001
またはあなたが名前で信号を送信することができます。プロセスのセット
killallを-s信号ProcessNameの
killallを-s SIGTERMのFirefox
しかし、プロセスがシグナルをどのように使用するかは、シグナルが同じユーザー空間にあるかどうか、シグナルがプロセスによってキャッチされるかどうかによって異なります。
私たちは、手作業でキャッチしたり、無視したり、その他の信号を出す必要があります。
その他の情報は、信号に応答するようにプログラムされた方法によって異なります。
シグナルをキャッチするプロセスの能力は、シグナルを送ることができる「kill」と直接関係がありません。これが引き起こす可能性のあるエフェクトだけです。 –
完全に同意します。私の意図はもう少し詳しく説明することでした。より一貫してこれを待って答えを述べた。アドバイスをありがとうございます。 –
あなたは正しい答えをマークできますか? –