Em primeiro lugar, quando o minecraft estiver em execução, execute
pgrep -a java
Agora encontre algo único, talvez seja apenas minecraft
.
Você receberá seu pid executando
pgrep -f minecraft
Isso se aplica a qualquer outro aplicativo executado no linux via java ou qualquer tipo de wrapper.
Em Minecraft do Monitor do Sistema, aparece como "java". isso é problemático ...
e se o aplicativo java em execução não for minecraft. e se houver vários?
o melhor que eu tenho para o meu roteiro é:
if ps ax | grep -v grep | grep java > /dev/null
then
echo "Minecraft is running"
else
echo "Minecraft not running, run Minecraft to continue"
fi
Como posso ter certeza de que o Minecraft está sendo executado e não apenas de qualquer aplicativo java antigo?
Obrigado
Em primeiro lugar, quando o minecraft estiver em execução, execute
pgrep -a java
Agora encontre algo único, talvez seja apenas minecraft
.
Você receberá seu pid executando
pgrep -f minecraft
Realmente, a melhor maneira de fazer isso é escrever o PID em um arquivo quando você o inicia via shell script. Então você pode enviar um sinal 0 para o pid para ver se ele está sendo executado.
kill -0 $(cat /run/minecraft.pid)
Isso retornará 0 se estiver em execução, < 0, se não estiver.
Caso contrário, se você não tiver controle sobre o início do processo, então uma pesquisa como os shows davidbaumann funcionará principalmente.