from: chatgpt
lsof -p pid
如果 lsof
命令不可用,并且 jps -l
、ps -ef
和 jcmd <PID> VM.command_line
命令都没有显示 JAR 包的路径,那么可能需要尝试其他方法来查找。
一种方法是通过 /proc
文件系统来查找正在运行的 Java 进程的相关信息。在 Linux 系统中,每个正在运行的进程都有一个对应的 /proc/<PID>
目录,其中 <PID>
是进程的进程 ID。
你可以尝试以下步骤来查找 JAR 包的所在目录:
使用 jps -l
命令找到你要查找的 Java 程序的进程 ID。
进入 /proc
目录,并进入对应的进程目录。例如,如果进程 ID 是 12345,则进入 /proc/12345
目录。
在进程目录中,查找名为 cwd
的符号链接。cwd
表示当前工作目录。
ls -l cwd
这将显示 cwd
符号链接的目标路径,即当前工作目录。
进入 cwd
目录,并查找与 JAR 包相关的文件。
请注意,这种方法依赖于 /proc
文件系统的特性,因此在某些系统上可能会有所不同。此外,如果 Java 程序在运行过程中改变了工作目录,那么这种方法可能无法准确找到 JAR 包的所在目录。