Как я могу перечислить все процессы Java в bash?Мне нужна командная строкаЯ знаю, что есть команда ps, но я не знаю, какие параметры мне нужно использовать.
ps
попробуйте:
ps aux | grep java
и посмотрите, как вы попадаете на
Последняя версия Java поставляется с инструментом состояния процесса виртуальной машины Java "jps"
http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html
Например,
[nsushkin@fulton support]$ jps -m 2120 Main --userdir /home/nsushkin/.netbeans/7.0 --branding nb 26546 charles.jar 17600 Jps -m
jps -lV
является наиболее полезным.Печатает только pid и квалифицированное имя основного класса:
2472 com.intellij.idea.Main 11111 sun.tools.jps.Jps 9030 play.server.Server 2752 org.jetbrains.idea.maven.server.RemoteMavenServer
Вы также можете использовать одну команду pgrep (не требует использования каналов и нескольких команд):
pgrep -fl java
Начиная с Java 7 , самый простой способ и менее подверженный ошибкам - это просто использовать команду jcmd , которая является частью JDK , чтобы она работала так жево всех ОС.
jcmd
Пример:
> jcmd 5485 sun.tools.jcmd.JCmd 2125 MyProgram
jcmd позволяет отправлять запросы диагностических команд на работающую виртуальную машину Java (JVM).
Подробнее о как пользоваться jcmd.
См. Также jcmd Утилита
Это вернет все запущенные процессы Java в среде Linux.Затем вы можете убить процесс, используя идентификатор процесса.
ps -e|grep java
Для лучшего формата вывода проверьте эту команду:
ps -fC java
или
$ ps -fea|grep -i java
Если я хочу просто перечислить процессы Java, используйте:
ps -A | grep java
pgrep -l java ps -ef | grep java