Linux教程

Linux根据进程号查找工作目录

本文主要是介绍Linux根据进程号查找工作目录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

jdk有提供一个查看当前Java进程的工具 —— jps。
位置在jdk的bin目录:/jdk1.8.0_281/bin/jps.exe,使用方法如下:

usage: jps [--help]
       jps [-q] [-mlvV] [<hostid>]

Definitions:
    <hostid>:      <hostname>[:<port>]
    -? -h --help -help: Print this help message and exit.

各个参数的解释:

-q:
Suppress the output of the class name, JAR file name, and arguments   
passed to the main method, producing only a list of local VM identifiers.
只输出进程号

-m:
Output the arguments passed to the main method. The output may be null for embedded JVMs
输出传递给main方法的参数

-l:
Output the full package name for the application's main class or the full path name   
to the application's JAR file.
输出主类的全路径名,或者jar包的全路径

-v:
Output the arguments passed to the JVM.
输出 传递给jvm虚拟机的参数

-V:
Output the arguments passed to the JVM through the flags file (the .hotspotrc   
file or the file specified by the -XX:Flags=<filename> argument).
输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 

最常用的就是 jps -l了,列出进程号和jar包名,说明文档里说这个参数能输出jar的全路径,实际使用的时候发现
只能输出jar包的名字,应该是我使用姿势有问题,最终解决方案如下:

通过`jps -l`命令输出jar包的进程号和包名  

然后通过`pwdx [进程号]`输出jar包的绝对路径

pwdx在这个位置:

[root@VM-0-17-centos server]# type -a pwdx
pwdx is /usr/bin/pwdx

当然,这只是通过jps找到Java的进程,如果想知道某个端口的进程号,可以使用命令lsof -i:[端口号]

这篇关于Linux根据进程号查找工作目录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!