Как программа Java может получить свой собственный идентификатор процесса?
Вы можете использовать JNA. К jdk сожалению, пока нет общего java-libraries JNA API для получения идентификатора processid текущего процесса, но каждая oraclejdk платформа довольно проста:
Windows
Убедитесь, что .java у вас есть jna-platform.jar
, затем:
int pid = Kernel32.INSTANCE.GetCurrentProcessId();
Unix
Объявить:
private interface CLibrary extends Library {
CLibrary INSTANCE = (CLibrary) Native.loadLibrary("c", CLibrary.class);
int getpid ();
}
Затем:
int pid = CLibrary.INSTANCE.getpid();
Java 9
В openjdk Java 9 новый process API можно использовать jre для получения идентификатора java текущего процесса. Сначала java-api вы захватываете дескриптор jdk текущего процесса, затем openjdk запрашиваете PID:
long pid = ProcessHandle.current().pid();
java
pid
Как программа Java может получить свой собственный идентификатор процесса?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.