在 Ubuntu 中,nohup
命令本身不提供直接的超时时间设置功能。不过,你可以结合使用其他工具来实现这个需求。以下是几种常见的方法:
timeout
命令timeout
命令可以用来限制一个命令的执行时间。你可以将 nohup
和 timeout
结合使用。
timeout 10 nohup your_command &
在这个例子中,your_command
将会在 10 秒后自动终止,即使它正在运行。
sleep
和 kill
命令你也可以使用 sleep
命令来等待一段时间,然后使用 kill
命令来终止进程。
nohup your_command &
pid=$!
sleep 10
kill $pid
在这个例子中,your_command
将会运行,10 秒后会被终止。
at
命令at
命令可以用来安排在指定时间执行任务。你可以使用 at
命令来安排一个任务,在指定时间后终止你的命令。
echo "kill $(pgrep your_command)" | at now + 10 minutes
nohup your_command &
在这个例子中,your_command
将会运行,10 分钟后会被终止。
cron
命令如果你需要更复杂的调度,可以使用 cron
命令。你可以设置一个 cron
任务,在指定时间后终止你的命令。
(crontab -l 2>/dev/null; echo "*/10 * * * * kill $(pgrep your_command)") | crontab -
nohup your_command &
在这个例子中,your_command
将会每 10 分钟被检查一次,如果还在运行,则会被终止。
选择适合你需求的方法来设置超时时间。