Как убить процесс в Java, учитывая конкретный PID - PullRequest
11 голосов
/ 08 января 2011

Как убить определенный процесс из кода Java в Windows, если у меня есть конкретный PID.

Ответы [ 2 ]

20 голосов
/ 08 января 2011

Я не знаю другого решения, кроме выполнения определенной команды Windows, например Runtime.getRuntime().exec("taskkill /F /PID 827");

1 голос
/ 26 сентября 2018

С Java 9 мы можем использовать ProcessHandle :

ProcessHandle.of(11395).ifPresent(ProcessHandle::destroy);

, где 11395 - это pid процесса, в котором вы заинтересованы в убийстве.

Это:

  • Сначала создает Optional<ProcessHandle> из заданного pid

  • И если это ProcessHandle присутствует, убивает процесс, используя destroy.

Импорт не требуется, так как ProcessHandle является частью java.lang.

Чтобы принудительно убить процесс, можно предпочесть от ProcessHandle::destroyForcibly до ProcessHandle::destroy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...