И если вам нужно, чтобы это было нечувствительным к регистру, вы должны использовать регулярное выражение следующим образом:
new RegExp(".*"+keyword+".*", "i")
Загрузить Process Explorer Sysinternal. Это диспетчер задач, намного более мощный, чем собственный менеджер Windows.
. Одна из его функций заключается в том, что вы можете увидеть все ресурсы, которые использует каждый процесс (например, разделы реестра, каталоги на жестких дисках, именованные каналы и т. д.). Таким образом, просмотр ресурсов, которые выполняется каждым процессом java.exe, может помочь вам определить, какой из них вы хотите убить. Обычно я обнаруживаю, ища тот, который использует определенный файл каталога журнала.
Запустите jps -lv
, который показывает PID и командные строки всех запущенных Java-процессов.
Определите PID задачи, которую вы хотите убить. Затем используйте команду:
taskkill /PID <pid>
, чтобы убить неправильный процесс.
Если вы используете Java 6, попробуйте jvisualvm из каталога bin JDK.
Я бы предложил загрузить Process Explorer из Sysinternals и посмотреть более подробно на различные процессы java.exe, чтобы вы могли лучше понять, какой из них можно убить.
http: //technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Это очень интуитивно понятно, и вы можете найти процессы java.exe и щелкнуть правой кнопкой мыши и перейти к их свойствам, оттуда вы можете увидеть их командную строку, время создания и т. д., которые могут помочь вам найти процесс, который вы хотите убить.
Надеюсь, что это поможет.
Если вы не можете запустить GUI-приложение, такое как ProcessExplorer, и вы ищете аргументы «Командная строка» для процессов, вы можете использовать «wmic» через командную строку. Например:
wmic PROCESS get Processid,Caption,Commandline
Если вы хотите найти конкретный процесс, вы можете сделать это:
wmic PROCESS where "name like '%java%'" get Processid,Caption,Commandline
. Вывод этого будет показывать вам все аргументы командной строки процессов, таких как «java».
/format:list
(например, когда Commandline
длинный).
– anishpatel
16 May 2017 в 22:52
Если приложение вообще не отвечает, то Process Explorer - хороший вариант.
Если это ответ, но не умирающий, иногда возникают задачи диспетчера задач, а затем перемещение другого диалога по java-процесс даст вам ключ. Процесс java, который обрабатывает циклы процессора для перерисовки, - это тот, который вы ищете.
Вы пытались использовать Process Explorer из SysInternals? Это дает гораздо лучшее представление о том, что работает в процессе. Доступно бесплатно здесь: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Вы можете попробовать открыть диспетчер задач Windows, перейдя на вкладку «Приложения», щелкнув правой кнопкой мыши приложение и выбрав «Перейти к процессу». Это автоматически выделит соответствующий процесс на вкладке Процессы.
Использование jps в JDK даст вам больше информации. Дополнительная информация отображается с параметрами -m, -l и -v.
Вместо использования стороннего инструмента вы также можете сделать довольно хорошее предположение, просмотрев все столбцы в диспетчере задач, если вы точно знаете, что представляют собой различные процессы Java в вашей системе. На вкладке Процессы используйте View-> Select Columns и добавьте PID, CPU Time, VM Size и Thread count. Знание того, что делает этот процесс, должно помочь сузить его.
Например, в приложении клиент-сервер сервер, скорее всего, будет использовать больше памяти, иметь больше потоков и использовать больше времени процессора, потому что он работает дольше. Если вы убиваете процесс, потому что он застрял, он может просто использовать больше CPU прямо сейчас.
MAX java heap memory обычно непосредственно отражается в размере VM. Поэтому, если вы используете флаги -Xmx, процесс с более крупным параметром будет иметь больший размер виртуальной машины.
Если вы разрабатываете программное обеспечение: используйте java-launcher. Я использовал несколько своих приложений [Exe4j] [ http://www.ej-technologies.com/products/exe4j/overview.html] , и он работал очень хорошо. Когда приложение запускается, оно отображается как, например, «myserverapp.exe» или «myapp» в диспетчере задач Windows. Есть и другие lauchers (не знают их наизусть), некоторые из них могут быть бесплатными тоже.
Использование ProcessExplorer и зависание над процессом Java покажет командную строку.
htop
может выполнить эту работу. – Melebius 7 November 2016 в 08:55