舊部落格第三彈:
在linux下,執行程式時,有乙個需求就是在一定的時間內執行完成,未執行完成則退出。下面是工作中經常使用的乙個perl程式,可以設定超時,通過alarm訊號機制進行控制
執行命令 ./timeout.pl -c command -t timeout
eg: ./timeout.pl -c "./run.sh" -t 180
#!/usr/bin/perl -wuse strict;
use getopt::std;
my $result;
my %opts;
getopt('ct
', /%opts);
sub ss_h() = sub;
alarm $opts;
#$result=`$opts`;
system($opts);
$result = $?;
alarm 0;
};if ($@ and $@ =~ /alarm/) elsif ( $result == 0
)else
}&ss_h();
設定socket connect超時時間的幾種方法
int connecttimeout 30 setsockopt sock,ipproto tcp,tcp connectiontimeout,char connecttimeout,sizeof connecttimeout socket選項tcp syncnt可以控制tcp連線syn重傳次數,預...
Python2 x設定命令執行的超時時間
在python2.x中的幾個用來執行命令列的庫或函式在執行命令是均不能設定乙個命令執行的超時時間,用來在命令執行時間超時時終端這個命令的執行,這個功能在3.x 中解決了,但是在2.x還是只能自己實現。下面就簡單實現了乙個版本 import subprocess from threading impo...
設定PHP指令碼執行超時時間的方法
設定php指令碼執行超時的時間有下面這樣一些方法 php.ini 中限定程式的最長執行時間是 30 秒,這是由 php.ini 配置檔案中的 max execution time 變數指定,倘若你有乙個需要頗多時間才能完成的程式 會由於超時而執行失敗,例如要傳送很多電子郵件給大量收件者,或者要進行繁...