一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

如何用nohup命令实现程序自动重启

时间:2026-07-18 09:08:50 编辑:袖梨 来源:一聚教程网

nohup 命令可以让程序在后台运行,即使关闭终端或断开连接也不会停止。但是,nohup 本身并不提供自动重启功能。要实现程序的自动重启,你可以结合使用 nohup 和其他工具,例如 while 循环或者 supervisord

如何通过nohup命令实现程序自动重启

方法一:使用 while 循环

创建一个 shell 脚本,如 run.sh

#!/bin/bashwhile true; donohup your_command &wait $!echo "Program exited with code $? , restarting..."sleep 5done

your_command 替换为你想要运行的程序命令。然后给脚本添加执行权限并运行:

chmod +x run.sh./run.sh

这个脚本会一直运行,当程序退出时,它会等待 5 秒(可以通过修改 sleep 5 中的数字来调整)然后重新启动程序。

方法二:使用 supervisord

supervisord 是一个进程管理工具,可以用来管理和自动重启程序。首先,你需要安装 supervisord

# 对于基于 Debian 的系统sudo apt-get install supervisor# 对于基于 RHEL 的系统sudo yum install supervisor

接下来,创建一个 supervisord 配置文件,例如 /etc/supervisor/conf.d/your_program.conf

[program:your_program]command=your_commandautostart=trueautorestart=truestderr_logfile=/var/log/your_program.err.logstdout_logfile=/var/log/your_program.out.log

your_command 替换为你想要运行的程序命令。然后重启 supervisord 以应用更改:

sudo service supervisor restart

现在,supervisord 会自动启动并管理你的程序,如果程序退出,它会自动重启。

这两种方法都可以实现程序的自动重启。你可以根据自己的需求选择合适的方法。

热门栏目