Vérifiez les processus Java sur Linux avec la commande jps

Sous Linux, il existe des commandes pour afficher les processus en cours d’exécution sur votre système. Un processus est tout événement en cours géré par le noyau. Un processus est généré lorsque vous lancez une application, mais de nombreux autres processus s’exécutent également en arrière-plan de votre ordinateur, notamment des programmes permettant de maintenir l’heure de votre système, de surveiller les nouveaux systèmes de fichiers, d’indexer des fichiers, etc. Les utilitaires, tels que ceux inclus dans le package procps-ng, qui surveillent ces processus ont tendance à être intentionnellement génériques. Ils examinent tous les processus sur votre ordinateur afin que vous puissiez filtrer la liste en fonction de ce que vous devez savoir.
Sous Linux, vous pouvez afficher les processus avec le ps
commander. C’est le moyen le plus simple de visualiser les processus en cours sur votre système.
$ ps
PID TTY TIME CMD
4486 pts/0 00:00:00 bash
66930 pts/0 00:00:00 ps
Vous pouvez utiliser le ps
commande pour afficher les processus Java en cours sur un système également en redirigeant la sortie vers grep
.
$ ps ax |grep java
67604 pts/1 Sl+ 0:18 /usr/lib/jvm/java-11-openjdk-11.0.12.0.7-4.fc34.x86_64/bin/java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED -Dorg.jboss.boot.log.file=/home/alan/wildfly/24.0.1/standalone/log/server.log -Dlogging.configuration=file:/home/alan/wildfly/24.0.1/standalone/configuration/logging.properties -jar /home/alan/wildfly/24.0.1/jboss-modules.jar -mp /home/alan/wildfly/24.0.1/modules org.jboss.as.standalone -Djboss.home.dir=/home/alan/wildfly/24.0.1 -Djboss.server.base.dir=/home/alan/wildfly/24.0.1/standalone
OpenJDK, cependant, a son propre moniteur de processus spécifique. L’outil Java Virtual Machine Process Status (jps) vous permet de rechercher chaque instance en cours d’exécution de la machine virtuelle Java (JVM) sur votre système.
Pour afficher une sortie similaire à celle vue dans le ps
commande, utilisez la -v
option. Ceci est utile, en partie parce qu’il nécessite moins de frappe.
$ jps -v
67604 jboss-modules.jar -D[Standalone] -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED -Dorg.jboss.boot.log.file=/home/alan/wildfly/24.0.1/standalone/log/server.log -Dlogging.configuration=file:/home/alan/wildfly/24.0.1/standalone/configuration/logging.properties
Le défaut jps
la sortie fournit l’identifiant de processus et le nom de classe ou le nom de fichier Jar de chaque instance détectée.
$ jps
67604 jboss-modules.jar
69430 Jps
Noter: La page de manuel de jps
déclare qu’il est expérimental et non pris en charge. Néanmoins, c’est une option intéressante car souvent de nombreux processus s’exécutent sur un système et il est utile d’avoir un moyen rapide d’identifier uniquement Java.
Parce que Java est encore un langage populaire aujourd’hui, il est important de se familiariser avec le kit de développement Java et l’environnement d’exécution. Ils contiennent de nombreux outils applicables au développement et à la maintenance d’applications Java.