我screen
用来运行 Minecraft 服务器,并且我每天都会重新启动它。这是我的开始代码:
screen -mdS mcserver
screen -S mcserver -p 0 -X stuff "java -Xmx4G -jar server.jar^M"
这是我的停止代码:
screen -S mcserver -p 0 -X stuff "stop^M"
sleep 10
screen -XS mcserver quit
发送命令stop
会使 Minecraft 服务器拯救世界,这可能需要几秒钟。有没有办法让程序等到java
(Minecraft 服务器)没有运行然后杀死screen
?screen
如果我在发送到 Minecraft 之前杀死stop
,世界可能会出现一些故障。(玩家物品与世界方块不同步,人们丢失物品,并且不小心复制了东西)