Roland
Roland

Reputation: 5438

How to give the java process a name in the operating system (other than java)

I'm playing around with some microservices and running them on my laptop, simply assigning each micro-service a new port. The problem is that I'd like to restart one of them I have to close them all because in the operating system the processes are all called java. And although I sometime can guess that the last started have the highest pid etc is isn't exacly a safe bet...

So, is there a way to start a java-application and assign it a name in the operating system? Perhaps something like

java --Dos.name MyFirstService -jar MyJar.jar.

Upvotes: 14

Views: 12435

Answers (2)

Federico M. Rinaldi
Federico M. Rinaldi

Reputation: 353

If you need to be able to differentiate between different java programs you can use the jps command that gives you a list of all java processes and running your program with

java -Dname=myFirstService -cp  myFirstService.jar some.client.main.MyFirstService

then if you do a:

jps -v

You will see your process correctly.

If you need to change the process name at the OS level I recommend you use http://launch4j.sourceforge.net/

Upvotes: 8

Under Windows, you can't (unless installing some kind of posix subsystem).

Under Linux, you could use exec command with the -a "newName" option to alias the process you wish to spawn.

Like

exec -a "myJar" /path/to/java -jar /path/to/jar.jar

Upvotes: 9

Related Questions