Perl IPC ::运行,在父母去世后杀死进程

时间:2013-02-08 01:39:32

标签: perl signals

是否可以给IPC::Run一个选项,在父母死亡时杀死这个过程?或者,当父母去世时杀死子进程的简单方法?我知道我可以通过捕捉父母的信号来做到这一点,但如果一个简单的方法已经存在,我宁愿不重新发明轮子。我知道这可能无法捕获SIGKILL,但是没关系,我打算以更合理的方式杀死父母。

1 个答案:

答案 0 :(得分:4)

使用END块清理。

my @ipc_run_harnesses;
END { $_->kill_kill for @ipc_run_harnesses }

...
for my $start ( 1..2 ) {
    push @ipc_run_harnesses, IPC::Run::start( "while true; do sleep 1; echo running $start; done" );
}
sleep 10;
exit;
相关问题