私はCentOS / RHELを学んでおり、現在プロセス管理に取り組んでいます。
私が読んでいるRHCSAの本では、実行をkill 1234
SIGQUIT転送として説明します。私はいつもシグナルタイプスイッチを追加せずにkillコマンドを実行すると、デフォルトは次のようになるはずだと思いました。kill -15
SIGTERMはkill -15
SIGKILLkill -9
ですか?
CentOS / RHELは少し異なるアプローチを使用しますか、kill -15
それとも私が間違っていますか?
編集:kill -l
SIGQUITを使用すると、kill -3
キーボードを使用してプロセスを終了することに関連しているようです。man 7 signal
また、SIGQUITがと指定されているため、SIGQUITがデフォルトと指定されているkill -3
私の本が間違っていると仮定できます。kill -15
答え1
いいえ、同じではありません。両方の基本的な作業は、プロセスを終了し、SIGQUIT
コアもダンプすることです。たとえば、参照してください。Linuxのマニュアルページsignal(7)
。kill
SIGTERMはデフォルトで送信されるので、SIGQUITをデフォルト値と呼ぶのは実際にはバグだけであると想像できます。それデフォルトは POSIX です。、SIGTERM、SIGKILL、SIGQUIT の数値にも同様に適用されます。
答え2
2つの終了コマンドがあります。1つはprocpsに、もう1つはシェルにあります。どちらも SIGTERM をデフォルトとして使用します。 procps Killの場合、コマンドヘルプ、マニュアルページ、およびkillソース(最新のマスターブランチのSkill.c行724)はすべてSIGTERMです。一貫性があることを知っておくと良いです。
シグナルについて覚えておくべき1つのことは、「一般的な群れ」を超えてx86 Linuxシステムとは少し異なるシステムで作業を開始すると、シグナルが存在しないか、異なる番号を持っていることがわかるということです。 procps(およびおそらく他の多くのプログラム)は、コンパイル時に数字を書き込みます(デフォルトではインクルードファイルにあるものは何でもsignum.hを探します)。
@ilkkachuが言ったように、SIGTERMは心配することはなく、POSIXにいます。