Назад | Перейти на главную страницу

Как остановить приложение Java-файла jar, запущенное с помощью этой команды

Чтобы запустить игровой сервер (майнкрафт), я запускаю его, выполнив эту команду в CentOS:

java -Xms512M -Xmx1G -jar minecraft_server.jar

Но я понятия не имею, как остановить запуск этого файла. Я предполагаю, что у него есть собственная внутренняя команда, но, учитывая, что она может запускаться в фоновом режиме и работать в течение очень долгого времени, как я могу остановить эту команду Java?

Спасибо.

Вы можете использовать комбинацию ps и kill, чтобы остановить конкретный процесс.

Вы бы сначала сделали ps -aux | grep minecraft чтобы получить номер процесса - это второе поле, первое число.

Тогда вы можете оформить kill $PID для отправки SIGTERM процессу и его корректного завершения.

Вы можете использовать следующие 2 файла для запуска / остановки service.jar

start.sh

#!/usr/bin/env bash
PID=0
if [ -f './pid' ]; then
    PID=$(cat ./pid)
fi

if ps -p $PID > /dev/null
then
   echo "Service with $PID is already running"
else
    nohup java -jar ./service.jar > service.out 2> errors.txt < /dev/null & PID=$!; echo $PID > ./pid
fi

stop.sh

#!/usr/bin/env bash
if [ -f './pid' ]; then
    PID=$(cat ./pid) && kill -15 $PID
fi