在重新启动时运行.sh脚本并让其持续运行。

18 浏览
0 Comments

在重新启动时运行.sh脚本并让其持续运行。

我正试图在重启时运行一个简单的.sh脚本。我希望这个脚本能一直运行下去。我将这个脚本放在用户目录的一个文件夹中,路径为/home/user/folder/script.sh。它在一个简单的虚拟专用服务器上运行,并且我可以通过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
0 Comments

当你关闭ssh连接时,你的脚本会收到一个挂起信号并退出。如果你像这样启动脚本:nohup ./script.sh &,可以通过使用nohup来忽略挂起信号,然后脚本将在关闭连接后继续运行。

0