运行 .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 &
然后脚本将在您关闭连接后保持运行。
我正在尝试 运行 一个简单的 .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 &
然后脚本将在您关闭连接后保持运行。