2016-06-16 7 views
1

私は、すべてのシグナルがKillコマンドを使ってプロセス上で送信される可能性があるのか​​疑問に思っていました。コマンドKILLはすべての信号を送信できますか?

私はKill and Signal(セクション7)のマニュアルを見てきましたが、Linuxに存在するシグナルがすべてKillで使用できるかどうかはわかりません。

ありがとうございました

+0

あなたは正しい答えをマークできますか? –

答えて

1

はい、できます。多くの方法があります。最も簡単な方法は次のとおりです。

kill -signalnumber pid1 pid2 ... 
4

はい、可能です。

あなたはこのようにそれを使用することができます:

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. 

や信号についての詳細情報がたくさん。 ;)

0

我々は

とすることにより処理する信号を送ることができる-signal PID1を殺す[PID2 ... PIDN]

殺す-9 1379 3001

またはあなたが名前で信号を送信することができます。プロセスのセット

killallを-s信号ProcessNameの

killallを-s SIGTERMのFirefox

しかし、プロセスがシグナルをどのように使用するかは、シグナルが同じユーザー空間にあるかどうか、シグナルがプロセスによってキャッチされるかどうかによって異なります。

私たちは、手作業でキャッチしたり、無視したり、その他の信号を出す必要があります。

その他の情報は、信号に応答するようにプログラムされた方法によって異なります。

+0

シグナルをキャッチするプロセスの能力は、シグナルを送ることができる「kill」と直接関係がありません。これが引き起こす可能性のあるエフェクトだけです。 –

+0

完全に同意します。私の意図はもう少し詳しく説明することでした。より一貫してこれを待って答えを述べた。アドバイスをありがとうございます。 –

関連する問題