Bash

“服務網路重啟”超時

  • May 23, 2016

我有一個在 fedora 22 上執行的腳本,我正在重新啟動服務網路,作為故障排除呼叫的一部分service network restart。我想檢查該命令是否執行時間過長。如果花費的時間太長,我想輸出一條消息“錯誤重新啟動網路服務”。否則我想繼續腳本。

您可以使用timeoutcommand 在給定的超時時間內執行您的命令或腳本。與此類似的東西:

timeout 10m command 

等待命令在 10 分鐘內完成,否則會殺死它並以狀態 124 退出。然後您可以檢查退出狀態timeout並根據它列印適當的消息。有關更多資訊,請參見此處:超時聯機幫助頁。

如果您不想殺死長命令,請執行以下操作:

(( sleep $TIMEOUT; echo "command took so long!" ) & exec $COMMAND )

在 TIMEOUT 時,這將列印消息,但命令繼續執行。

引用自:https://unix.stackexchange.com/questions/285005