[SIGINT 用に] シグナル ハンドラが登録された後、プロセスは「fork」呼び出しを行います。コマンドラインから SIGINT を送信するとどうなりますか? 親が終了するか、子が終了するか、またはその両方か? 親と子の両方が無限 while ループを実行しています。
質問する
10869 次
1 に答える
16
fork
シグナルハンドラーが登録された後に(それ以上)行うexec*
と、同じシグナルハンドラーが親プロセスと子プロセスで使用されます。exit
つまり、ハンドラー以外で何かを行うとSIGINT
、親も子も終了しません (SIGINT
送信方法はここでは関係ありません)。
端末SIGINT
からの送信を意味する場合(通常は文字で): 端末を制御端末として使用するプロセスによって受信されます。つまり、子または親を制御端末から切り離さない限り、両方がハンドラーを呼び出して反応します。vintr
Ctrl+C
Ctrl+C
SIGINT
于 2013-02-13T11:46:54.657 に答える