如何在运行时更新bash脚本或轻松地重新启动它?
来源:爱站网时间:2021-09-16编辑:网友分享
我需要一种方法来轻松地重新启动/替换bash脚本,而无需手动再次停止/重新启动该过程。这是我当前脚本的工作方式:#!/ bin / sh而true时会回显“ 1” java -...
问题描述
我需要一种方法来轻松地重新启动/替换bash脚本,而无需手动停止/重新开始该过程。
这是我当前脚本的工作方式:
#!/bin/sh
while true
do
echo "1"
java -server -Xms2G -jar game.jar nogui
done
[基本上,如果游戏停止,它将自动重新启动,但是该脚本已经加载到内存中,因此,如果我要对其进行修改,则必须手动终止该脚本并重新启动它才能进行更改影响。我正在运行至少200个游戏服务器实例,因此手动执行该操作并杀死它,然后再次手动启动每个脚本并不明智。
[当游戏服务器停止时,我希望它更新脚本,这是我可能想做的一个例子:
#!/bin/sh
while true
do
echo "1"
echo "2"
java -server -Xms2G -jar game.jar nogui
done
但是,我需要物理停止脚本并自己重新启动它,以便它添加新的'echo“ 2”',我需要一种更简单的方法来替换正在运行的脚本。
脚本本身将在游戏停止时下载更新的脚本(因此它将自动重新开始。
如何使脚本从内存中卸载并使用新脚本?
如果无法执行此操作,您是否可以建议其他替代方法?
我需要一种方法来轻松地重新启动/替换bash脚本,而无需手动再次停止/重新启动该过程。这是我当前脚本的工作方式:#!/ bin / sh而true时会回显“ 1” java -...
解决方法:
调用以下文件myscript.sh
。每当游戏停止时,它都会将自身重新加载到内存中: