运行 .sh 脚本重启并保留它 运行

Run .sh script on reboot and leave it running

我正在尝试 运行 一个简单的 .sh 脚本重新启动。我想要这个脚本 运行ning 永远。我在 /home/user/folder/script.sh 的用户目录的一个文件夹中有这个脚本。它 运行 在一个简单的 vps 上,我可以通过 ssh 访问。如果我在同一目录中时通过执行 ./script.sh & 运行 它,它可以完美运行。当我关闭 ssh 连接时,它停止了。

我尝试添加一个像这样的 crontab 条目:@reboot /home/user/folder/script.sh &(如其他答案中所建议的),然后只需键入 sudo reboot 但它不起作用。

我不知道哪个是解决这个问题的最佳方法。 script.sh 就是这个(我在寻找一些解决方案以在 python start.py 崩溃时重新启动它时发现的):

until ./start.py; do
    echo "Server 'myserver' crashed with exit code $?.  Respawning.." >&2
    sleep 1
done

它完全符合我的需要。

感谢您的帮助!

当您关闭 ssh 连接时,您的脚本会收到挂断信号并退出。如果您像这样启动脚本,则可以使用 nohup 忽略挂断信号:

nohup ./script.sh &

然后脚本将在您关闭连接后保持运行。