This applies to any other app that runs under linux via java or any sort of wrapper.

Under System Monitor minecraft shows up as "java". this is problematic...

what if the java app that's running isn't minecraft. and what if there are several?

the best I've got for my script is :

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 

How can I know for sure that Minecraft is running and not just any old java app?

Thanks

2

2 Answers

Firstly, when minecraft is running, run

pgrep -a java 

Now find something unique, maybe it's just minecraft.

You will get your pid by running

pgrep -f minecraft 
2

Really the best way to do this is to write out the PID to a file when you start it via shell script. Then you can send a 0 signal to the pid to see if it's currently running.

kill -0 $(cat /run/minecraft.pid)

This will return 0 if it's running, >0 (greater than 0) if it's not.

Otherwise, if you don't have control of the starting of the process, then a search like davidbaumann shows will mostly work.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy