13

[SIGINT 用に] シグナル ハンドラが登録された後、プロセスは「fork」呼び出しを行います。コマンドラインから SIGINT を送信するとどうなりますか? 親が終了するか、子が終了するか、またはその両方か? 親と子の両方が無限 while ループを実行しています。

4

1 に答える 1

16

forkシグナルハンドラーが登録された後に(それ以上)行うexec*と、同じシグナルハンドラーが親プロセスと子プロセスで使用されます。exitつまり、ハンドラー以外で何かを行うとSIGINT、親も子も終了しません (SIGINT送信方法はここでは関係ありません)。

端末SIGINTからの送信を意味する場合(通常は文字で): 端末を制御端末として使用するプロセスによって受信されます。つまり、子または親を制御端末から切り離さない限り、両方がハンドラーを呼び出して反応します。vintrCtrl+CCtrl+CSIGINT

于 2013-02-13T11:46:54.657 に答える