我试图在Ubuntu服务器上使用这个脚本。
#!/bin/sh
while (true)
do
screen -S myserver java -server -Xms4G -Xmx4G -jar craftbukkit.jar
echo "Server restarting in 5 seconds. Ctr+C to kill the server!"
echo "Rebooting in:"
for i in 5 4 3 2 1
do
echo "$i..."
sleep 1
done
echo "Rebooting Server!"
done但是,一旦我运行脚本并脱离屏幕,它就会启动重新启动进程。如果屏幕关闭,我如何才能启动重新启动?
发布于 2015-07-17 04:44:50
测试屏幕会话是否仍在运行:
#!/bin/sh
while :
do
screen -S myserver java -server -Xms4G -Xmx4G -jar craftbukkit.jar
if screen -ls myserver | grep -q "No Sockets found"
then
echo "Server restarting in 5 seconds. Ctr+C to kill the server!"
echo "Rebooting in:"
for i in 5 4 3 2 1
do
echo "$i..."
sleep 1
done
echo "Rebooting Server!"
else
echo "Not rebooting yet"
fi
done但是,由于这是一个无限循环,如果您分离屏幕而它没有重新启动,它将启动另一个屏幕会话。我不知道你为什么要把它循环起来。
https://stackoverflow.com/questions/31468420
复制相似问题