【发布时间】:2013-04-16 04:01:21
【问题描述】:
我在 Solaris SunOS 系统上有一些 Perl 脚本,它们基本上连接到网络上的其他节点并获取/处理命令日志。手动运行时,它们 99% 的时间都正确运行,但有时会卡住。在这种情况下,我只是中断它并再次运行。
现在,我打算 cron 它们,我想知道是否有办法检测脚本是否在执行过程中卡住(无论出于何种原因),最好在发生这种情况时立即退出,在为了释放它可能占用的任何系统资源。
非常感谢任何帮助。
【问题讨论】:
-
脚本挂起是由于远程端间歇性网络问题,这是我无法控制的。
-
不确定是什么,例如
ps输出看起来像在 Solaris 上,但如果一个进程在 I/O 等待很长时间,这似乎是一个有用的问题指示器。但是,同意修复代码以免卡在阻塞 I/O 状态会更好。 -
确实,修复代码会好得多,但从更一般的意义上说,我一直在寻找一种方法来检测此类有问题的脚本,特别是在通过 cron 运行时。不过感谢您的建议。