【问题标题】:Bash Script Terminate a command and continueBash 脚本终止命令并继续
【发布时间】:2015-04-24 18:48:59
【问题描述】:

我有一个脚本,它会在一段时间后执行一个无法停止的命令,除非你终止它。如何停止命令并继续我的脚本?

假设我运行apt-get update,我想在 N 时间段内停止它,然后继续我的脚本。

【问题讨论】:

  • 你能展示你的脚本吗?
  • 你看timeout命令了吗?
  • echo -e "Enter monitor card id: \c" read monitorcard echo "Monitor id is: $monitorcard " echo "Starting Scan For Wps" eval 'wash -i $monitorcard 'No i Have'是的..但我会

标签: linux bash scripting command terminate


【解决方案1】:

这是一个使用“超时”命令的 sh 脚本示例:

运行“sleep 30”,超时10秒,然后杀死“TERM”,等待3s,然后杀死-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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2022-10-14
    • 2018-06-11
    • 2012-10-24
    • 2023-03-23
    相关资源
    最近更新 更多