How can I give my Java application a unique process name?

The process name is the name of the JVM. So if you rename the jvm you have an other process name. There are some tools which can do that for you. For example Launch4J


IMO the best option is to choose one of the many open source launchers. They all provide a nicer deployment container than java.exe and a batch file.

I've compiled a list of them after a brief search on google (in no particular order and may not be exhaustive):

  • NSIS
  • Janel (dead link)
  • JSmooth
  • Launch4J
  • WinRun4J

(full disclosure: i work on winrun4j)


Not easily. The easiest way (but not nice!) would be to simply copy the java.exe (only 68k on my system, so perhaps practical!)

If you're worried about identifying which java process is which (e.g. is one consuming memory/CPU etc.), use the standard tool jps to identify the Java processes


Netbeans and Eclipse both ship with an .exe file that in turns launches a JVM. The exe itaself probably does nothing after launching the VM. You see the NetBeans javaw.exe in the Task Manager also, I suspect.

So you'll need to write a native exe (using some windows tool) that does a similar thing.