Bash
“服務網路重啟”超時
我有一個在 fedora 22 上執行的腳本,我正在重新啟動服務網路,作為故障排除呼叫的一部分
service network restart
。我想檢查該命令是否執行時間過長。如果花費的時間太長,我想輸出一條消息“錯誤重新啟動網路服務”。否則我想繼續腳本。
您可以使用
timeout
command 在給定的超時時間內執行您的命令或腳本。與此類似的東西:timeout 10m command
等待命令在 10 分鐘內完成,否則會殺死它並以狀態 124 退出。然後您可以檢查退出狀態
timeout
並根據它列印適當的消息。有關更多資訊,請參見此處:超時聯機幫助頁。如果您不想殺死長命令,請執行以下操作:
(( sleep $TIMEOUT; echo "command took so long!" ) & exec $COMMAND )
在 TIMEOUT 時,這將列印消息,但命令繼續執行。