Ctrlを押すとそれを読みました + C SIGINT
シグナルはフォアグラウンドプロセスグループに送信されます 。
フォアグラウンドプロセスグループに2つ以上のプロセスを含める方法の例を教えてください。 、 Ctrlを押すとすべてのプロセスが終了するかどうかを確認したいからです + C 。
承認された回答:
新しいプロセスはすべて同じプロセスグループ、つまり親プロセスのプロセスグループに属しているため、プロセスに一連のプロセスを開始させます(fork
)、適切なロギングと遅延を使用して、 Ctrlと入力します。 + C 。彼らは皆SIGINT
を食べます 。
$ perl -E 'fork for 1..2;say "ima $$"; $SIG{INT}=sub{die "woe $$\n"}; sleep 999'
ima 80920
ima 80922
ima 80921
ima 80923
^Cwoe 80920
woe 80922
woe 80921
woe 80923
$
(strace
を追加します またはsysdig
または、関連するシステムコールまたは信号を確認するためなど。)