0
我有一段腳本,在一段時間後執行一個不能停止的命令,除非你終止它。如何停止命令並繼續我的腳本?Bash腳本終止一個命令並繼續
假設我運行了apt-get update
,我想在N段時間內停止它,然後繼續我的腳本。
我有一段腳本,在一段時間後執行一個不能停止的命令,除非你終止它。如何停止命令並繼續我的腳本?Bash腳本終止一個命令並繼續
假設我運行了apt-get update
,我想在N段時間內停止它,然後繼續我的腳本。
這是一個sh腳本,使使用「暫停」命令的示例:
運行「睡眠30」,超時10秒,然後殺「術語」,等待3秒,然後殺死 - 9
TIMEOUT_TO_SIGNAL=10
SIGNAL_AFTER_TIMEOUT=TERM
WAIT_FOR_KILL="3s"
COMMAND_TO_EXEC="sleep 30"
echo "Run \"$COMMAND_TO_EXEC\", timeout on $TIMEOUT_TO_SIGNAL seconds, then kill \"$SIGNAL_AFTER_TIMEOUT\", wait $WAIT_FOR_KILL, then kill -9"
timeout --signal=$SIGNAL_AFTER_TIMEOUT --kill-after=$WAIT_FOR_KILL $TIMEOUT_TO_SIGNAL $COMMAND_TO_EXEC
if [ $? -eq 124 ]
then
echo "The command $COMMAND_TO_EXEC timed out"
else
echo "The command $COMMAND_TO_EXEC executed without timeout"
fi
你可以顯示你的腳本嗎? – anubhava 2015-02-23 12:37:16
你看過'timeout'命令嗎? – pfnuesel 2015-02-23 12:41:39
回聲-e 「進入監控卡ID C:\」 讀monitorcard 回聲 「顯示器ID是:$ monitorcard」 回聲 「開始掃描WPS的」 EVAL '洗-i $ monitorcard' 不,我沒有yey ..但我會 – Ariox 2015-02-23 12:44:21