gpt4 book ai didi

bash - 为重新启动脚本创建 screen ? bash

转载 作者:行者123 更新时间:2023-12-04 18:46:55 26 4
gpt4 key购买 nike

我正在尝试在 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

但是,一旦我运行脚本并从屏幕上分离,它就会开始重新启动过程。屏幕关闭后如何才能开始重新启动?

最佳答案

测试屏幕 session 是否仍在运行:

#!/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

但是由于这是一个无限循环,如果您分离屏幕并且它没有重新启动,它将启动另一个屏幕 session 。我不知道你为什么把它放在一个循环中。

关于bash - 为重新启动脚本创建 screen ? bash ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31468420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com