【发布时间】:2011-07-18 01:22:47
【问题描述】:
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()。
僵尸的坏处是它们消耗内存还是僵尸可以伤害的方式更多?
【问题讨论】:
-
是的,僵尸有更多的伤害方式,比如吃掉你的大脑。
标签: perl fork zombie-process