Como posso parar um aplicativo de arquivo JAR Java que foi iniciado com este comando

2

Para executar um servidor de jogo (minecraft) eu inicio executando este comando no CentOS:

java -Xms512M -Xmx1G -jar minecraft_server.jar

Mas não tenho ideia de como impedir que esse arquivo seja executado. Eu suponho que ele tem seu próprio comando interno, mas considerando que ele pode ser iniciado em segundo plano e em execução por um longo tempo, como posso parar este comando Java?

Obrigado.

    
por adrianTNT 18.12.2012 / 21:35

2 respostas

3

Você pode usar uma combinação de ps e kill para interromper o processo em particular.

Primeiro você faria ps -aux | grep minecraft para obter o número do processo - que é o segundo campo, primeiro número.

Em seguida, você pode emitir kill $PID para enviar SIGTERM ao processo e desativá-lo normalmente.

    
por 18.12.2012 / 21:40
0

Você pode usar os 2 arquivos a seguir para iniciar / interromper 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
    
por 18.11.2016 / 16:55