perl(windows)中外部进程完成超时
我正在为windows编写一个perl程序,它运行几个SVN命令 我需要接收SVN进程的状态,因此我使用“返回标记” e、 g: 有时进程会卡住,所以我需要设置进程超时 我试图使用“报警”信号,但它并没有杀死卡住的进程。只有当流程完成时,我才会收到指示perl(windows)中外部进程完成超时,perl,Perl,我正在为windows编写一个perl程序,它运行几个SVN命令 我需要接收SVN进程的状态,因此我使用“返回标记” e、 g: 有时进程会卡住,所以我需要设置进程超时 我试图使用“报警”信号,但它并没有杀死卡住的进程。只有当流程完成时,我才会收到指示 如何处理完成速度不够快的进程?信号是unix的概念。相反,您应该使用 信号是unix的概念。相反,您应该使用 当然基本上,您希望并行运行一个进程,然后等待子进程结束,但等待时间不超过超时时间。如果它还在运行,你就杀了它。谢谢ikegami,有代码
如何处理完成速度不够快的进程?信号是unix的概念。相反,您应该使用
信号是unix的概念。相反,您应该使用
当然基本上,您希望并行运行一个进程,然后等待子进程结束,但等待时间不超过超时时间。如果它还在运行,你就杀了它。谢谢ikegami,有代码示例吗?我对那个问题有点气馁……当然。基本上,您希望并行运行一个进程,然后等待子进程结束,但等待时间不超过超时时间。如果它还在运行,你就杀了它。谢谢ikegami,有代码示例吗?我对那个问题有点泄气。。
{
$COMMAND="blabla...";
$results=`$COMMAND 2>&1`;
parse_results($results);
}
use IPC::Run qw( run timeout );
run [ 'bla', 'arg' ], '>&', \my $results, timeout( 10 )
or die "bla: $?"