Как просмотреть процессы и потоки Java

Java задняя часть
Как просмотреть процессы и потоки Java

«Это 28-й день моего участия в ноябрьском испытании обновлений. Подробную информацию об этом событии см.:Вызов последнего обновления 2021 г."

1. Окна

Просмотр информации о процессе через диспетчер задач

Просмотрите процесс Java на вкладке процесса, я начал идею, поэтому я могу просмотреть связанный процесс под идеей

Также вы можете подписать Ctrl + f для поиска java на странице сведений.

Просмотр информации о процессе через консоль

Введите CMD, введите список задач, вы можете просмотреть всю информацию о процессе, включая идентификатор процесса, использование памяти

Чтобы просмотреть процессы, связанные с Java, вы можете добавить список задач условия фильтра | findstr "java" , Следует отметить, что строки в окнах должны использовать двойные кавычки, или вы можете оставить их в покое.

Если вы запускаете программу в IDEA, вы можете использовать терминал идеи для выполнения команды

taskkill убивает процесс

Чтобы убить процесс, используйте taskkill /pid, чтобы указать идентификатор процесса.Если его нельзя убить, вы можете попробовать принудительно убить taskkill /pid идентификатор процесса -t -f

Вы можете видеть, что процесс в консоли идеи завершился

Процесс больше не может быть запрошен через список задач | идентификатор процесса findstr, что указывает на то, что процесс был успешно завершен.

2. Линукс

ps -ef команда для просмотра

В Linux вы можете просмотреть всю информацию о процессе с помощью ps -ef.Если вы не знаете конкретных параметров, вы можете посмотреть краткое введение на веб-сайте новичка.По следующей ссылке можно получить прямой доступ.

ооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо.com/Linux/Linux…

Предоставьте тестовый класс Java.Чтобы предотвратить запуск потока, в коде используется цикл while(true), и в то же время, чтобы предотвратить полную занятость ЦП, используйте TimeUnit.SECONDS.sleep(2) спать в течение 2 секунд, чтобы отказаться от времени выполнения ЦП.

Скомпилируйте класс ThreadDemo2.java через Javac ThreadDemo2.java, создайте соответствующий файл класса -ThreadDemo2.class, а затем java -cp/com.lzb.concurrency.demo1.threadDemo2

Просмотр информации о процессе ThreadDemo2 ps -ef | grep ThreadDemo2 (Обратите внимание, что вам нужно открыть новое окно оболочки)

убить убить процесс

Используйте идентификатор процесса уничтожения, чтобы убить процесс

верхняя команда для просмотра

Посмотреть все процессы, можно использовать верхние команды

Проверьте указанную информацию о процессе, используя идентификатор процесса top -p, чтобы увидеть все потоки в указанном процессе, вы можете использовать идентификатор процесса top -H -p.

Описание конкретных параметров см. в кратком описании веб-сайта Cainiao, а также по следующим ссылкам.

ооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо.com/Linux/Linux…

3. Java поставляется с инструментами

jps просмотр идентификатора процесса

Команды, поставляемые с Java, не различают платформы. Если вам нужно просмотреть все идентификаторы процессов Java, вы можете использовать jps

jstack Просмотр статуса потока в процессе

Чтобы просмотреть статус потока Java-процесса, его можно использовать в сочетании с jps.Сначала запросите идентификатор процесса через jps, а затем запросите статус всех потоков в процессе через jstack.Следует отметить, что поток статус, запрашиваемый jstack, — это процесс, запрашивающий состояние потока в данный момент (переходное состояние)

Дополнительная информация отображается не полностью

графический интерфейс jconsole

jconsole — это графический интерфейс для мониторинга ресурсов, таких как память, потоки и классы, который поставляется с jdk.

В среде Windows вы можете напрямую дважды щелкнуть, чтобы запустить файл jconsole.exe в папке bin каталога установки jdk.

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

Локальные соединения не требуют аутентификации по паролю и являются небезопасными соединениями, следующим является интерфейс jconsole.

Если процесс Java выполняется на удаленном сервере Linux, вам необходимо использовать удаленное соединение.

Для удаленного подключения требуется такая информация, как имя пользователя, пароль IP-порта и т. д. В настоящее время нам нужно запустить класс Java следующим образом.

java -Djava.rmi.server.hostname='ip address' -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port='port' -Dcom.sun.management.jmxremote.ssl=это соединение безопасный -Dcom.

sun.management.jmxremote.authenticate=Требуется ли аутентификация класса Java