Я написал следующий фрагмент кода для проверки сигнализации между дочерним и родительским. В идеале, когда дочерний элемент предоставляет родительский элемент SIGINT, родитель должен вернуться в новую итерацию и ждать ввода пользователя. Это я наблюдал в perl 5.8, но в perl 5.6.1 (который я просил использовать) родитель фактически «убит». Нет следующей итерации.perl - дочерний сигнальный родительский процесс
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([email protected])
{
print "got the signal!!!!\[email protected]\n";
next;
}
}
}
Может кто-то пожалуйста, дайте Walkaround для этой проблемы или каким-либо другим способом, чтобы сигнализировать родителю, так что он входит в новую итерацию.
Sry, не может воспроизвести. – int2000
Windows или нет? – ikegami
Окна @ikegami - –