Su Linux, ci sono comandi per visualizzare i processi in esecuzione sul tuo sistema. Un processo è qualsiasi evento in corso gestito dal kernel. Un processo viene generato quando avvii un'applicazione, ma ci sono anche molti altri processi in esecuzione sullo sfondo del tuo computer, inclusi programmi per mantenere l'ora del tuo sistema precisa, per monitorare nuovi filesystem, per indicizzare file e altro ancora. Le utilità, come quelle incluse nel pacchetto procps-ng, che controllano questi processi tendono ad essere intenzionalmente generiche. Esaminano tutti i processi sul tuo computer in modo che tu possa filtrare l'elenco in base a ciò che devi sapere.
Su Linux, puoi visualizzare i processi con ps
comando. È il modo più semplice per visualizzare i processi in esecuzione sul tuo sistema.
$ ps
PID TTY TIME CMD
4486 pts/0 00:00:00 bash
66930 pts/0 00:00:00 ps
Puoi usare il ps
comando per visualizzare i processi Java in esecuzione su un sistema anche eseguendo il piping dell'output su 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, tuttavia, ha un proprio monitor di processo specifico. Lo strumento Java Virtual Machine Process Status (jps) ti consente di scansionare ogni istanza in esecuzione della Java Virtual Machine (JVM) sul tuo sistema.
Per visualizzare un output simile a quello visto in ps
comando, usa il -v
opzione. Questo è utile, in parte perché richiede meno digitazione.
$ 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
Il valore predefinito jps
output fornisce l'identificatore del processo e il nome della classe o il nome del file Jar di ciascuna istanza rilevata.
$ jps
67604 jboss-modules.jar
69430 Jps
Altro su Java
- Cos'è la programmazione Java aziendale?
- Creazione Red Hat di OpenJDK
- Cheat sheet di Java
- Corso online gratuito:Sviluppo di applicazioni cloud native con architetture di microservizi
- Articoli Java freschi
Nota: La pagina man per jps
afferma che è sperimentale e non supportato. Tuttavia, è un'opzione interessante perché spesso molti processi sono in esecuzione su un sistema e avere un modo rapido per identificare solo Java è utile.
Poiché Java è ancora oggi un linguaggio popolare, è importante avere familiarità con Java Development Kit e Runtime Environment. Contengono molti strumenti applicabili allo sviluppo e alla manutenzione di applicazioni Java.