最近htop
の使用を開始しました。プロセスを強制終了する必要がありましたが、 F9 プロセスでは、このオプションのリストを提供してきました。デフォルトで選択されているものを選択しましたが、実際には何が機能するように見えますか
だから本当に私の質問は、これらの異なるオプションとは何ですか、そしてプロセスを殺すために使用するのに最適なのはどれですか?
初挑戦
SIGTERM 15 Term Termination signal
これが機能しない場合
SIGKILL 9 Term Kill signal
man 7 signal
から
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.
Next the signals not in the POSIX.1-1990 standard but described in
SUSv2 and POSIX.1-2001.
Signal Value Action Comment
────────────────────────────────────────────────────────────────────
SIGBUS 10,7,10 Core Bus error (bad memory access)
SIGPOLL Term Pollable event (Sys V).
Synonym for SIGIO
SIGPROF 27,27,29 Term Profiling timer expired
SIGSYS 12,31,12 Core Bad argument to routine (SVr4)
SIGTRAP 5 Core Trace/breakpoint trap
SIGURG 16,23,21 Ign Urgent condition on socket (4.2BSD)
SIGVTALRM 26,26,28 Term Virtual alarm clock (4.2BSD)
SIGXCPU 24,24,30 Core CPU time limit exceeded (4.2BSD)
SIGXFSZ 25,25,31 Core File size limit exceeded (4.2BSD)
これらは一般的なプロセス信号であり、htop
に関連するだけでなく、コマンドを使用してすべての信号をリストできます。
kill -l
例えばソース :
-1または-HUP-この引数により、killがプロセスに「ハングアップ」シグナルを送信します。これはおそらくモデム/ダイヤルイン時代に由来します。プロセスは、このプロセスを実際にリッスンし、それで何かを行うようにプログラムする必要があります。ほとんどのデーモンは、そのような信号を受信したときに構成を再読み取りするようにプログラムされています。とにかく;これは最も安全なキルシグナルである可能性が非常に高いので、何も妨害するべきではありません。
-2または-SIGINT-これは、プログラムを起動し、実行中にCTRL + Cを押すのと同じです。ほとんどのプログラムは停止し、データを失う可能性があります。
-9または-KILL-カーネルはプロセスに通知せずにプロセスを解放します。このようなクリーンでないキルは、データの損失につながる可能性があります。これは、利用可能な「最も厳しい」、「最も粗い」、そして最も安全でないキルシグナルであり、止められないように見える何かを止めるためにのみ使用されるべきです。
-15または-TERM-実行中の処理をすべて停止し、終了するようにプロセスに指示します。シグナルを指定しない場合、このシグナルが使用されます。実行するのはかなり安全なはずですが、「-1」または「-HUP」で始める方が適切です。
signal.h
ファイルのリスト:
+--------------------+------------------+
* | POSIX signal | default action |
* +--------------------+------------------+
* | SIGHUP | terminate |
* | SIGINT | terminate |
* | SIGQUIT | coredump |
* | SIGILL | coredump |
* | SIGTRAP | coredump |
* | SIGABRT/SIGIOT | coredump |
* | SIGBUS | coredump |
* | SIGFPE | coredump |
* | SIGKILL | terminate(+) |
* | SIGUSR1 | terminate |
* | SIGSEGV | coredump |
* | SIGUSR2 | terminate |
* | SIGPIPE | terminate |
* | SIGALRM | terminate |
* | SIGTERM | terminate |
* | SIGCHLD | ignore |
* | SIGCONT | ignore(*) |
* | SIGSTOP | stop(*)(+) |
* | SIGTSTP | stop(*) |
* | SIGTTIN | stop(*) |
* | SIGTTOU | stop(*) |
* | SIGURG | ignore |
* | SIGXCPU | coredump |
* | SIGXFSZ | coredump |
* | SIGVTALRM | terminate |
* | SIGPROF | terminate |
* | SIGPOLL/SIGIO | terminate |
* | SIGSYS/SIGUNUSED | coredump |
* | SIGSTKFLT | terminate |
* | SIGWINCH | ignore |
* | SIGPWR | terminate |
* | SIGRTMIN-SIGRTMAX | terminate |
* +--------------------+------------------+
* | non-POSIX signal | default action |
* +--------------------+------------------+
* | SIGEMT | coredump |
* +--------------------+------------------+
さらに読む:
man signal
、man 2 signal
、man 7 signal
、man kill