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

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 中的数字来调整)然后重新启动程序。
supervisordsupervisord 是一个进程管理工具,可以用来管理和自动重启程序。首先,你需要安装 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 会自动启动并管理你的程序,如果程序退出,它会自动重启。
这两种方法都可以实现程序的自动重启。你可以根据自己的需求选择合适的方法。
微信公众号全自动创作发布:使用OpenClaw+Skill自动发布教程
OpenClaw部署指南:新手安装后必看的OpenClaw教程
安装openclaw小白教程:OpenClaw高级篇教学
OpenClaw 从入门到精通指南:配置Bot与OpenClaw的飞书及Kimi2.5配置教程
OpenClaw 从入门到精通指南:配置Bot与OpenClaw的QQ和Kimi2.5配置教程
OpenClaw 从入门到精通指南:小白一键部署篇:电脑本地部署手把手教程