簡體   English   中英

Perl中的外部過程完成超時(Windows)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM