【发布时间】:2011-07-09 03:29:25
【问题描述】:
我有一个 Perl 脚本,它产生了一些孩子。它们都需要相当长的时间来运行,一路上创建目录和文件。我经常注意到我想在孩子们死于自然原因之前改变的事情,所以我必须关闭所有东西(这涉及到几个grep 和kill 电话)并删除孩子们创建的所有文件。真的不是什么大事,就是脖子有点疼。我想创建一个所有子节点都受到监控的设置,因此当我再次启动父节点时,会报告仍在运行的老子节点。
到目前为止,我最好的想法是保留一个我使用他们的 PID 运行的孩子的日志文件,检查它并在父脚本的开头更新它。杀死并报告任何仍在运行的子进程,并在重新运行之前让用户手动清理目录和文件。
所以我的问题是:如何将子项添加到日志文件中?有没有办法设置一个可以自动处理它的触发器,还是我不得不记住在代码中新进程开始的任何地方执行它?
附言我当然愿意接受有关更好方法的建议!
【问题讨论】:
-
听起来你已经准备好迎接Parallel::ForkManager了。
标签: perl child-process