В одном решении используется RuntimeMXBean. Имя bean-компонента содержит pid (например, 12345 @ localhost).
Предупреждение. Возвращаемая строка имени может быть любой произвольной строкой, и реализация виртуальной машины Java может выбрать встраивание полезной информации, относящейся к платформе, в возвращенную строку имени.
На Sun JVM (форма Windows) присутствует PID.
String processName =
java.lang.management.ManagementFactory.getRuntimeMXBean().getName();
System.out.println(processName.split("@")[0]);