当我杀死使用ForkManager的perl进程时,我希望所有子进程都死掉.在下面的代码中,如果我运行它并在睡眠行运行时按ctrl+ c,print则会终止睡眠过程,但是在脚本结束之前所有行都会同时执行.理想情况下,我想要一个中断立即停止所有执行.我能做什么?
#!/usr/bin/perl -w
use Parallel::ForkManager;
main {
my $fork1 = new Parallel::ForkManager(8);
while (1) {
$fork1->start and next;
system("sleep 15s");
print "Still going!"
$fork1->finish;
}
fork1->wait_all_children;
}
Run Code Online (Sandbox Code Playgroud)