SIGUSR1でプロセスが終了するのはなぜですか?

SIGUSR1でプロセスが終了するのはなぜですか?

驚いたコメント他の質問のうち:

開始後に早すぎるdd USR1シグナルを送信すると(例:bashスクリプトの開始後の行など)、実際にシグナルは終了します。

誰が説明できますかなぜ

答え1

各信号には、プロセスが信号を受信したときに実行する基本的な操作である「基本処理」があります。マニュアルページには、signal(7)これをリストするテーブルがあります。

Signal     Value     Action   Comment
──────────────────────────────────────────────────────────────────────
...
SIGUSR1   30,10,16    Term    User-defined signal 1
SIGUSR2   31,12,17    Term    User-defined signal 2

SIGUSR1そしてSIGUSR2両方ともデフォルトの動作を持っていますTerm- プロセスを終了します。dd信号を傍受して便利な操作を行うためにハンドラを登録します。ただし、信号を早すぎるとハンドラを登録する時間がないため、デフォルトの動作が発生します。

関連情報