我正在尝试在重启时运行一个简单的.sh脚本。我想让这个脚本永远运行。我将此脚本放在用户目录的/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
它完全符合我的需要。
感谢您的帮助!
答案 0 :(得分:2)
当您关闭ssh连接时,您的脚本会收到挂起信号并退出。如果您按照以下方式启动脚本,则可以使用nohup
忽略挂断信号:
nohup ./script.sh &
然后在关闭连接后脚本将继续运行。