[英]Time out for external process completion in perl (windows)
我正在為Windows編寫一個perl程序,該程序運行多個SVN命令。
我需要接收SVN進程的狀態,所以我正在使用“后退”。
例如:
{
$COMMAND="blabla...";
$results=`$COMMAND 2>&1`;
parse_results($results);
}
有時,進程卡住了,因此我需要為進程設置超時。
我嘗試使用“ ALARM”信號,但它沒有殺死卡住的進程。 僅當過程完成時,我才會收到指示。
我該怎么辦才能處理速度不夠快的流程?
信號是unix概念。 相反,您應該使用IPC :: Run 。
use IPC::Run qw( run timeout );
run [ 'bla', 'arg' ], '>&', \my $results, timeout( 10 )
or die "bla: $?"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.