J'ai lu que lorsque vous appuyez sur Ctrl +C un SIGINT
le signal sera envoyé au groupe de processus de premier plan .
Pouvez-vous me donner un exemple de la façon dont je peux avoir deux processus ou plus dans le groupe de processus de premier plan , car je veux voir si tous les processus se termineront si j'appuie sur Ctrl +C .
Réponse acceptée :
Étant donné que les nouveaux processus appartiennent tous au même groupe de processus, celui du processus parent, faire en sorte qu'un processus démarre un groupe de processus (fork
), puis avec la journalisation appropriée et un délai, tapez Ctrl +C . Ils mangent tous un 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
$
(Ajouter strace
ou sysdig
ou autre pour voir les appels système ou les signaux impliqués.)