nohup
命令本身没有直接的超时时间设置选项。但是,你可以使用其他命令或脚本来实现这个功能。下面是一个使用 timeout
命令来实现超时功能的示例:
timeout <seconds> nohup your_command &
将 <seconds>
替换为你想要设置的超时时间(以秒为单位),将 your_command
替换为你想要执行的命令。这将在指定的时间后自动终止 your_command
。
例如,如果你想要在 60 秒后终止 my_script.sh
脚本,你可以这样运行:
timeout 60 nohup ./my_script.sh &
这将在 60 秒后自动终止 my_script.sh
脚本。注意,我们在命令末尾添加了 &
符号,以便在后台运行该命令。这样,即使你关闭终端或断开连接,命令也会继续执行。
如果你想要在超时后自动重启命令,可以使用一个简单的循环脚本。例如:
#!/bin/bash
while true; do
nohup your_command &
wait $!
echo "Command finished, restarting in 60 seconds..."
sleep 60
done
将 your_command
替换为你想要执行的命令。这个脚本将无限循环地运行 your_command
,并在每次执行完成后等待 60 秒。你可以根据需要调整等待时间。