GNU/Linux >> Linux の 問題 >  >> Linux

jpsコマンドを使用してLinux上のJavaプロセスを確認します

Linuxには、システムで実行されているプロセスを表示するコマンドがあります。プロセスとは、カーネルによって管理されている進行中のイベントです。アプリケーションを起動するとプロセスが生成されますが、システム時間を正確に保つプログラム、新しいファイルシステムを監視するプログラム、ファイルのインデックスを作成するプログラムなど、コンピューターのバックグラウンドで実行されている他の多くのプロセスもあります。これらのプロセスを監視するprocps-ngパッケージに含まれているようなユーティリティは、意図的に汎用的である傾向があります。彼らはあなたのコンピュータ上のすべてのプロセスを見るので、あなたが知る必要があることに基づいてリストをフィルタリングすることができます。

Linuxでは、psを使用してプロセスを表示できます 指図。これは、システムで実行中のプロセスを表示する最も簡単な方法です。

$ ps
    PID TTY          TIME CMD
   4486 pts/0    00:00:00 bash
  66930 pts/0    00:00:00 ps

psを使用できます 出力をgrepにパイプすることによって、システム上で実行中のJavaプロセスを表示するコマンド 。

$ 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には独自のプロセスモニターがあります。 Java仮想マシンプロセスステータス(jps)ツールを使用すると、システム上で実行中のJava仮想マシン(JVM)の各インスタンスをスキャンできます。

psに表示されるのと同様の出力を表示するには コマンド、-vを使用します オプション。これは、タイピングが少なくて済むという理由もあり、便利です。

$ 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

デフォルトのjps 出力は、プロセス識別子と、検出された各インスタンスのクラス名またはJarファイル名を提供します。

$ jps
67604 jboss-modules.jar
69430 Jps

Javaの詳細

  • エンタープライズJavaプログラミングとは何ですか?
  • OpenJDKのRedHatビルド
  • Javaチートシート
  • 無料のオンラインコース:マイクロサービスアーキテクチャを使用したクラウドネイティブアプリケーションの開発
  • 新鮮なJavaの記事

注: jpsのマニュアルページ それは実験的でサポートされていないと述べています。それでも、多くのプロセスがシステム上で実行されていることが多く、Javaのみをすばやく識別する方法があると便利なので、これは便利なオプションです。

Javaは今日でも人気のある言語であるため、JavaDevelopmentKitとランタイム環境に精通していることが重要です。これらには、Javaアプリケーションの開発と保守に適用できる多くのツールが含まれています。


Linux
  1. statコマンドを使用してLinuxのファイルステータスを確認します

  2. Linuxatコマンドでタスクをスケジュールする

  3. Linuxtacコマンドの使用を開始する

  1. Linuxcronコマンドを使用したタスクのスケジューリング

  2. Linuxのpingコマンドで接続の問題を診断する

  3. jpsコマンドを使用してLinux上のJavaプロセスを確認します

  1. Linuxのwatchコマンドでコマンドとタスクを監視する

  2. スマートクォートをLinuxsedコマンドに置き換えます

  3. Linuxcatコマンドの使用を開始する