Из perlipc / Signals :
eval {
local $SIG{ALRM} = sub { die "alarm clock restart" };
alarm 10;
flock(FH, 2); # blocking write lock
alarm 0;
};
if ($@ and $@ !~ /alarm clock restart/) { die }
Если время ожидания операции истекло, это system () или qx (), этот метод применим для создания зомби. Если это важно для вас, вам нужно выполнить свои собственные fork () и exec () и убить ошибочный дочерний процесс.
У меня есть аналогичный код, в котором время ожидания операции истекает как system () или qx ().
Плохо ли зомби в том, что они потребляют память, или есть другие способы, которыми зомби могут причинить вред?