社区编辑申请
注册/登录
在 Linux 上使用 jps 命令检查 Java 进程
系统 Linux 后端
系统上运行着诸多进程,通过 jps 命令能够快速有效识别 Java 进程。

系统上运行着诸多进程,通过 jps 命令能够快速有效识别 Java 进程。

在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。每启动一个应用程序时,就会产生一个进程,但也有许多在计算机后台运行的进程,如保持系统时间准确的进程、监听新文件系统的进程、索引化文件的进程等。有一些可以用来监测这些进程的实用程序,比如包含在 procps-ng 包 中的程序,但它们往往都是对各种进程通用的。它们会查看计算机上的所有进程,你可以根据需要过滤结果列表。

在 Linux 中,可以通过 ps 命令查看进程。这是查看当前系统上运行进程最简单的方法。

  1. $ ps
  2.     PID TTY          TIME CMD
  3.    4486 pts/0    00:00:00 bash
  4.   66930 pts/0    00:00:00 ps

你也可以通过 ps 命令,并配合结果输出管道符进行 grep,从而查看系统上运行的 Java 进程,。

  1. $ ps ax |grep java
  2. 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 虚拟机进程状态Java Virtual Machine Process Status(jps)工具可以帮你扫描系统上所有运行的 Java 虚拟机(JVM)实例。

要想实现与 ps 命令类似的输出,可以使用 -v 选项。这很实用,这与 ps 相比,可以减少你的输入。

  1. $ jps -v
  2. 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 文件名。

  1. $ jps
  2. 67604 jboss-modules.jar
  3. 69430 Jps

注意: jps 的手册页指出此命令是试验性且不受支持的。尽管如此,它仍然是一个不错的选择,因为一个系统通常运行着许多进程,这种只识别 Java 进程的快速方法是很有用的。

 

当下的 Java 仍然是一种流行的语言,所以熟悉 Java 开发工具包和运行时环境仍然很重要。它们包含着许多适用于 Java 应用程序开发和维护的工具。

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-04-02 20:45:04

Hi3516开发板操作系统鸿蒙

2022-04-14 10:10:59

Nginx开源Linux

2022-04-06 06:35:58

进程命令CPU

2022-04-19 11:23:26

release3.1子系统鸿蒙

2022-05-18 10:58:36

LinuxKali Linux

2022-05-16 13:37:12

Sysrv僵尸网络微软

2022-05-07 10:09:01

开发Java日志

2022-05-14 08:05:18

Linux内存管理

2022-05-07 11:08:50

Linuxapt 命令

2022-04-28 09:46:20

Nginx文件Linux

2022-03-25 09:39:50

LinuxLinux top

2022-04-07 06:04:00

NetHogs开源网络工具

2022-05-10 16:04:40

编程语言PythonC语言

2022-05-17 09:19:17

XebianLinuxLinux 发行版

2022-05-09 07:08:14

LinuxBashShell

2022-03-31 07:52:01

Java多线程并发

2022-04-20 10:43:24

Linux命令

2022-04-11 09:39:58

Linux进程编程

2022-04-25 11:27:34

LinuxCPU

2022-04-03 19:51:38

linux服务性能

同话题下的热门内容

Fedora 36 通过桌面大修吸引开发者,但它能取悦 Linux 之父吗?万字多图,搞懂 Nginx 高性能网络工作原理!GPIO到底该如何控制43个Bash编程最容易犯的错误大全Kali Linux 2022.2 发布:增加了一个吓唬人的有趣新功能Linux程序编译过程详解程序员必备高级技术之函数调用栈Xebian:Debian 与 Xfce 的完美结合

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号