Я считаю, что JRE не предоставляет API для системных процессов.ProcessBuilder
может создавать системные процессы, но не может предоставить вам объект Process
для процесса, созданного вне JVM.Я полагаю, что это философское решение со стороны Java-пользователей, чтобы избежать определенных задач для конкретной ОС, где это возможно.Вы можете подумать, что в каждой ОС есть pids или что у них есть какое-то сообщение об уничтожении, но Java работает на многих ОС, некоторые из них довольно странные.это с JNI, но это было бы расточительно.Как говорит г-н 988052, я предлагаю вам выполнить системную команду через Runtime.exec
или ProcessBuilder
.Вам нужно будет решить, какие операционные системы вы хотите поддерживать, и убедиться, что команды (и код обнаружения ОС) подходят для каждой из них.