Как убить определенный процесс Java по имени приложения


2

Обычный taskkill /im "java.exe"убьет все процессы Java в списке. Я, однако, хочу убить конкретного. Проблема состоит в том, чтобы определить правильный процесс, поскольку есть несколько java.exeпроцессов, которые выполняются одновременно и не связаны друг с другом.

Есть ли способ убить процесс по имени приложения, а не по имени процесса? У меня есть имя приложения, отображаемое на вкладке Приложения в диспетчере задач, и вручную я могу щелкнуть правой кнопкой мыши на этом приложении и выбрать «Перейти к процессу». Это выделит соответствующий процесс Java. Есть ли способ сделать это из командной строки?

Ответы:


4

Используя taskkill, вы можете убить процесс на основе заголовка окна, используя фильтр.

taskkill /F /FI "WindowTitle eq Spotify" /T
  • /F - силовое задание убить
  • /T - убить дочерний процесс
  • /FI - Фильтровать задачи

Если заголовок окна содержит кавычки, вы можете избежать вложенных кавычек с помощью обратной косой черты ( \).

Аналогичным образом вы можете использовать список задач для поиска задачи по заголовку окна.

tasklist /V /FI "WindowTitle eq Spotify"

Вы можете использовать *как подстановочный знак, чтобы соответствовать шаблону

tasklist /V /FI "WindowTitle eq S*"

2

Для всех процессов java.exe есть связанный с ним атрибут «Командная строка», который можно получить с помощью:

wmic PROCESS where "name like '%java%'" get Commandline

как правило, вы найдете файл JAR (специфичный для процесса Java) как часть командной строки

Вы можете использовать это имя файла JAR или любой части командной строки, чтобы отфильтровать процессы Java и получить нужный идентификатор процесса, используя

wmic PROCESS where "name like '%java.exe%' AND CommandLine like '%<part of commnad line argument>%'"get Processid

вместо использования get Processid в приведенной выше команде вы можете использовать call Terminate для непосредственного уничтожения процесса.

wmic PROCESS Where "name Like '%java.exe%' AND CommandLine like '%<part of commnad line argument>%'" Call Terminate

Спасибо, я буду иметь это в виду
Евгений С
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.