Kill コマンドのフラグをデコードする

Kill コマンドのフラグをデコードする

Linuxシェルスクリプトの本でこのコマンドを見ました

$ kill -HUP 1234 >killout.txt 2>killerr.txt

コマンドが何をするのかは分かるのですが、フラグが理解できません-HUP

答え1

Linux では を試してくださいman 7 signal

kill -HUP 1234は「プロセス 1234 に SIGHUP シグナル (1) を送信する」という意味なので、 と同等ですkill -1 1234。kill によって送信されるデフォルトのシグナルは SIGTERM (15) なので、 はまたはkill 1234と同等です。kill -TERM 1234kill -15 1234

答え2

-HUP一般的な 1 文字オプション構文のように、 、 の 3 つのフラグではありません。歴史的な理由により、HコマンドUは、ダッシュ ( ) が前に付いたオプションのシグナル名またはシグナル番号を取ります。Pkill-

kill -1 1234
kill -HUP 1234

( ではkill 1 1234、プロセス 1 と 1234 にデフォルトのシグナル (SIGTERM) が送信されます。)

おそらくマニュアルページには次のような内容が記載されています:

kill [ -signal | -s signal ] pid ...

つまり-signal、ダッシュの後に信号指定 (名前または番号) を続けることができます。または、-sオプションの後に信号名を続けることもできます。これらは同じ意味を持つ 2 つの異なる構文です。

kill -l使用可能な信号名と対応する番号をリストします。

ほとんど信号事前に定義された意味を持つ誰がいつ送るのかそして、プロセスがどのように想定され、それらに反応できるか。

関連情報