我是新手。我的程序在生命周期内使用 system call 创建了一些子进程fork()。我需要为父进程处理中断信号,并在它的处理程序中杀死在程序运行时创建的所有子进程。
我试过以下代码...
setpgrp(0,0);
$SIG{INT} = \&kill_all;
sub kill_all() {
print "Going to kill child processes \n";
kill -9, getpgrp();
}
....
fork()..
....
fork()...
....
fork()
.....
Run Code Online (Sandbox Code Playgroud)
但似乎并非所有进程都被杀死,请提出正确的方法来做到这一点。