Fer*_*gal 3 perl multithreading
我有一个Perl脚本,我用它来运行一个使用反引号启动的文件处理工具.问题是,工具偶尔挂起并且需要将其杀死才能处理其余文件.
什么是应用超时的最佳方法,在此之后父脚本将终止挂起的进程?
目前我正在使用:
foreach $file (@FILES) {
$runResult = `mytool $file >> $file.log`;
}
Run Code Online (Sandbox Code Playgroud)
但是当mytool在n秒后挂起时,我希望能够杀死它并继续下一个文件.
我可能不会用``为此.相反,我会open()使用命令,|以便它以异步方式运行.这将返回pid.然后你可以wait()在一个有睡眠的循环中进行非阻塞,在经过一定次数的尝试后没有成功,向孩子发出信号pid.
| 归档时间: |
|
| 查看次数: |
3036 次 |
| 最近记录: |