我写了下面的一段代码,以测试儿童和父母之间的信令。 理想的情况是,当孩子给出了一个SIGINT父父应该回来,在新的迭代,并等待用户输入。 这是我在Perl 5.8已经观察到,但在Perl 5.6.1(我要求我使用)母公司实际上是“封杀”。 有没有下一次迭代。
my $parent_pid = $$;
$pid = fork();
if($pid == 0)
{
print "child started\n";
kill 2, $parent_pid;
}
else
{
while(1)
{
eval
{
$SIG{INT} = sub{die "GOTCHA";};
print 'inside parent'."\n";
$a = <>;
};
if($@)
{
print "got the signal!!!!\n$@\n";
next;
}
}
}
可能有人请给这个问题,或者一些其他的方式,使其进入新的迭代信号的父外观图释。