Как найти идентификатор процесса запущенного процесса 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
и затем могут найти правильный процесс.
ваш результат будет примерно таким :
после установки пути вашего 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 будет убита только. На отдых это никак не повлияет.