How do I get the id of my Java process?
I know there are several platform-dependent hacks, but I would prefer a more generic solution.
Based on Ashwin Jayaprakash's answer (+1)
about the Apache 2.0 licensed SIGAR
, here is how I use it to get only the PID of the current process:
import org.hyperic.sigar.Sigar;
Sigar sigar = new Sigar();
long pid = sigar.getPid();
sigar.close();
Even though it does not work on all platforms, it does work on Linux, Windows, OS X and various Unix platforms as listed here.