如何使 while true 循环仅在服务器关闭或崩溃时再次启动 program/minecraft 服务器?
How do I make a while true loop only start the program/minecraft server again if it closes or crashes?
你好我正在 运行使用重启插件连接 Minecraft 服务器,但它需要程序自行重启,所以我使用了 While true sleep 5 循环,它似乎工作正常但过了一段时间它只是一次又一次地开始打开,然后在某个时候一直使用 100% cpu。
如何让它在服务器关闭或崩溃之前不再启动程序?
#!/bin/sh
while true
do
java -Xms1G -Xmx6G -jar server.jar
sleep 5
done
由于睡眠设置为 5 后它不断打开,我看到说无法每 5 秒启动 minecraft 服务器,但它已经 运行ning,我希望它只 运行 while循环如果程序不是运行ning.
使用带有 -f
标志的 pgrep 可以搜索带有一些参数的 运行 进程。您可以使用它来检查服务器是否已经 运行.
例如:
#!/bin/bash
while true
do
if ! pgrep -f server.jar
then
java -Xms1G -Xmx6G -jar server.jar
fi
sleep 5
done
你好我正在 运行使用重启插件连接 Minecraft 服务器,但它需要程序自行重启,所以我使用了 While true sleep 5 循环,它似乎工作正常但过了一段时间它只是一次又一次地开始打开,然后在某个时候一直使用 100% cpu。
如何让它在服务器关闭或崩溃之前不再启动程序?
#!/bin/sh
while true
do
java -Xms1G -Xmx6G -jar server.jar
sleep 5
done
由于睡眠设置为 5 后它不断打开,我看到说无法每 5 秒启动 minecraft 服务器,但它已经 运行ning,我希望它只 运行 while循环如果程序不是运行ning.
使用带有 -f
标志的 pgrep 可以搜索带有一些参数的 运行 进程。您可以使用它来检查服务器是否已经 运行.
例如:
#!/bin/bash
while true
do
if ! pgrep -f server.jar
then
java -Xms1G -Xmx6G -jar server.jar
fi
sleep 5
done