温馨提示×

如何通过nohup命令在Linux中设置超时时间

小樊
41
2025-12-11 23:09:28
栏目: 智能运维

nohup 命令本身不提供设置超时时间的功能

方法一:使用 timeout 命令

timeout 命令允许你为其他命令设置超时时间。例如,如果你想让一个名为 my_script.sh 的脚本在 10 秒后自动停止,可以使用以下命令:

timeout 10 nohup ./my_script.sh &

这将在 10 秒后终止 my_script.sh 脚本的执行。注意,& 符号将命令放入后台运行。

方法二:使用 sleepkill 命令

如果你不想使用 timeout 命令,可以使用 sleepkill 命令组合来实现超时功能。例如,如果你想让一个名为 my_script.sh 的脚本在 10 秒后自动停止,可以使用以下命令:

nohup ./my_script.sh &
pid=$!
sleep 10
kill $pid 2>/dev/null

这里,& 符号将命令放入后台运行,$! 获取后台进程的进程 ID。sleep 10 命令会让脚本等待 10 秒,然后 kill $pid 命令会终止该进程。2>/dev/null 会将 kill 命令产生的错误信息重定向到 /dev/null,以免干扰输出。

这两种方法都可以实现在 Linux 中使用 nohup 命令设置超时时间的目的。

0