Saya telah membacanya ketika Anda menekan Ctrl +C sebuah SIGINT
sinyal akan dikirim ke grup proses latar depan .
Bisakah Anda memberi saya contoh bagaimana saya dapat memiliki dua atau lebih proses di grup proses latar depan , karena saya ingin melihat apakah semua proses akan berhenti jika saya menekan Ctrl +C .
Jawaban yang Diterima:
Karena semua proses baru termasuk dalam grup proses yang sama, yaitu proses induk, mintalah sebuah proses memulai sekelompok proses (fork
), lalu dengan pencatatan yang sesuai dan penundaan, ketik Ctrl +C . Mereka semua makan 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
$
(Tambahkan strace
atau sysdig
atau semacamnya untuk melihat panggilan sistem atau sinyal yang terlibat.)