Как вызвать .sh с pid для java-процесса в Fedora

Похоже, это очень старая проблема, которая не была решена. Кажется, что занесение этого устройства в черный список - единственное, что вы можете сделать в настоящее время.

-1
26.03.2018, 23:37
3 ответа

Эта строка исправила:

Удаление демона И добавление > к эхо $!

/usr/bin/java -Xmx4096M -Xms4096M -jar $PATH_TO_JAR nogui > /dev/null 2>&1 & echo $! >>$PID_PATH_NAME

Я тоже:

cd /home/minecraft/server/
pwd

в начале скрипта

0
28.01.2020, 05:10
exec /home/minecraft/server/startup-server.sh > /dev/null 2>&1 & echo $!

дает вам PID startup-server.sh, который закрывается почти сразу. Но вам нужен PID

/usr/bin/java -Xmx4096M -Xms4096M -jar minecraft_server.jar nogui

Для вашего подхода к работе нужно

exec /usr/bin/java -Xmx4096M -Xms4096M -jar minecraft_server.jar nogui

Кроме того, if [ -f $PID_PATH_NAME ]недостаточно. Вы всегда должны проверять, что процесс все еще существует и что он правильный.

Вместо этого может иметь смысл использовать что-то вроде startproc.

1
28.01.2020, 05:10

Этот PIDвозвратил из /home/minecraft/server/startup-server.shскрипт (новый процесс bash ). Вам нужно получить PIDиз этой команды /usr/bin/java -Xmx4096M -Xms4096M -jar minecraft_server.jar nogui.

0
28.01.2020, 05:10

Теги

Похожие вопросы