Как найти идентификатор процесса запущенного процесса Java в Windows? И как убить процесс в одиночку?

Я хочу убить конкретный процесс Java в Windows, как в Linux (ps -aux чтобы получить processid, а затем kill processid убить процесс).

7 ответов


можно использовать jps утилита, которая составляет включено в JRE чтобы найти идентификатор процесса процесса Java. На выходе будет показано имя исполняемого файла JAR или имя основного класса.

затем используйте диспетчер задач Windows для завершения процесса. Если вы хотите сделать это в командной строке, используйте

TASKKILL /PID %PID%

вы также можете найти PID программы java с помощью Диспетчера задач. Включить PID и Командная Строка колонки View -> Select Columns и затем могут найти правильный процесс.

ваш результат будет примерно таким : enter image description here


после установки пути вашего jdk use JPS.Тогда вы можете eaisly убить его с помощью Диспетчера задач
JPS даст вам все процессы java


Это будет работать, даже если есть несколько экземпляров банке работает

wmic Path win32_process Where "CommandLine Like '%yourname.jar%'" Call Terminate

решение я нашел очень простое. Используйте среду выполнения WMIC & Java Window, чтобы найти и убить процесс.

Часть 1: вам нужно поместить какой-то идентификатор в командную строку запуска вашего приложения. Е. Г. что-то вроде:

String id = "com.domain.app";

Часть 2: при запуске приложения обязательно включите строку. Предположим, вы запускаете его из Java, выполните следующее:

Runtime.getRuntime().exec(
   "C:\...\javaw.exe -cp ... -Dwhatever=" + id + " com.domain.app.Main"
);

Часть 3: чтобы убить процесс, используйте WMIC окна. Просто убедитесь, что приложение запущено содержащий ваш id сверху:

Runtime.getRuntime().exec(
  "wmic process Where \"CommandLine Like '%" + id + "%'\" Call Terminate"
);

в windows XP и более поздних версиях есть команда:tasklist в этом списке перечислены все идентификаторы процессов.

для убийства процесса в Windows см.:

действительно убийство процесса в Windows / Stack Overflow

вы можете выполнять OS-команды на Java по:

Runtime.getRuntime().exec("your command here");

Если вам нужно обработать вывод команды, см. Пример: С помощью среды выполнения.exec () в Java


это специфично для Windows. Я столкнулся с той же проблемой, где мне нужно убить одну конкретную программу java, используя taskkill. Когда я запускаю программу java, tasklist показывает ту же программу с именем изображения, установленным как java.исполняемый. Но убить его, используя taskkill /F java.exe остановит все другие приложения java, кроме запланированного, который не требуется.

поэтому я запускаю ту же программу java, используя:

start "MyProgramName" java java-program..

здесь команда start откроет новое окно и запустит программу java с заголовок окна установлен в MyProgramName.

Теперь, чтобы убить эту java-программу, используйте следующую команду taskkill:

taskkill /fi "MyProgramName"

ваша программа Java будет убита только. На отдых это никак не повлияет.