Sous Linux, il existe des commandes pour afficher les processus en cours d'exécution sur votre système. Un processus est un é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 système exacte, de surveiller les nouveaux systèmes de fichiers, d'indexer les 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 de 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
commande. C'est le moyen le plus simple de visualiser les processus en cours d'exécution 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 d'exécution sur un système également en dirigeant 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 d'analyser 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 le -v
option. C'est utile, en partie parce que cela nécessite moins de saisie.
$ 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 jps
par défaut la sortie fournit l'identifiant du processus et le nom de la classe ou le nom du fichier Jar de chaque instance détectée.
$ jps
67604 jboss-modules.jar
69430 Jps
En savoir plus sur Java
- Qu'est-ce que la programmation Java d'entreprise ?
- Build Red Hat d'OpenJDK
- Aide-mémoire Java
- Cours en ligne gratuit :Développer des applications cloud natives avec des architectures de microservices
- Articles Java récents
Remarque : La page de manuel pour jps
déclare qu'il est expérimental et non pris en charge. Néanmoins, il s'agit d'une option intéressante car souvent de nombreux processus s'exécutent sur un système, et disposer d'un moyen rapide d'identifier uniquement Java est utile.
Étant donné que Java est toujours 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.