小编baj*_*pws的帖子

杀死进程本身和所有子进程的最佳方法

我是新手。我的程序在生命周期内使用 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)

但似乎并非所有进程都被杀死,请提出正确的方法来做到这一点。

parallel-processing perl fork kill child-process

2
推荐指数
1
解决办法
1722
查看次数

标签 统计

child-process ×1

fork ×1

kill ×1

parallel-processing ×1

perl ×1