我有一个产生一些孩子的 Perl 脚本。它们都需要相当长的时间来运行,一路上创建目录和文件。我经常注意到我想在孩子们死于自然原因之前改变的事情,所以我必须关闭所有东西(这涉及到一些grep
和kill
调用)并删除孩子们创建的任何文件。没什么大不了的,就是脖子有点疼。我想创建一个所有孩子都受到监控的设置,所以当我再次启动父母时,会报告仍在运行的老孩子。
到目前为止,我最好的想法是保留一个我用他们的 PID 运行的孩子的日志文件,检查它并在父脚本的开头更新它。杀死并报告任何仍在运行的孩子,并在重新运行之前让用户手动清理目录和文件。
所以我的问题是:我该如何将孩子添加到日志文件中?有没有办法设置一个可以自动处理它的触发器,或者我是否不得不记住在代码中新进程开始的任何地方执行它?
ps 我当然愿意接受更好的方法来实现这一点的建议!