如何在Linux下快速找到Java进程启动的JAR文件

2024-06-28 18:35:00 浏览数 (1)

如何在Linux下快速找到Java进程启动的JAR文件

在线上环境中,当CPU占用率异常高时,经常需要定位到是哪个Java进程导致的,并进一步找到该进程启动的JAR文件。以下提供了几种方法来帮助你快速找到这些信息。

方法一:通过/proc文件系统
  1. 查看Java进程编号: 使用top命令或其他进程管理工具查看Java进程的PID(进程编号)。
  2. 查看进程文件/proc/[PID]/exe 是一个指向进程实际执行文件的符号链接。但通常这会指向Java运行时(如/usr/java/jdk1.8.0_121/jre/bin/java),而不是JAR文件本身。
  3. 查看进程启动目录/proc/[PID]/cwd 是一个指向进程当前工作目录的符号链接。这通常是JAR文件所在的目录,但JAR文件的完整路径和名称不会直接给出。

你可以使用ls -l /proc/[PID]/cwd来查看该目录的内容,并手动查找JAR文件。

方法二:使用jps命令

jps(Java Virtual Machine Process Status Tool)是JDK提供的一个命令行工具,它可以列出所有正在运行的Java进程,并显示它们的PID以及启动的JAR文件或类的完全限定名。

使用jps -l命令可以列出带有JAR文件或类名的Java进程。

方法三:使用pgrep命令

pgrep命令用于查找与给定模式匹配的进程,并打印出它们的PID。结合-a选项,pgrep还可以打印出完整的命令行参数。

使用pgrep -a java命令可以列出所有包含java关键字的进程及其完整的命令行参数。这通常包括启动Java进程的完整命令,包括JAR文件的路径。

总结
  • /proc文件系统提供了关于进程的详细信息,但可能需要手动查找JAR文件。
  • jps命令直接列出了Java进程的PID和启动的JAR文件或类名,非常方便。
  • pgrep命令可以列出包含java关键字的进程及其完整命令行参数,通常也包含JAR文件的路径。

在实际使用中,你可以根据具体情况选择最适合你的方法。如果只需要快速查看正在运行的Java进程及其启动的JAR文件,jps命令通常是最简单直接的选择。

0 人点赞