Linux通过进程ID查看文件路径

Linux通过进程ID查看文件路径,第1张

1、用ps -ef |grep xxxxx 得到该进程的pid

2、输入ls -l ,结果中 exe链接对应的就是可执行文件的路径

$ ls -l /proc/18283

以下是/proc目录中进程18283的信息

/proc/18283 pid为N的进程信息

/proc/18283/cmdline 进程启动命令

/proc/18283/cwd 链接到进程当前工作目录

/proc/18283/environ 进程环境变量列表

/proc/18283/exe 链接到进程的执行命令文件

/proc/18283/fd 包含进程相关的所有的文件描述符

/proc/18283/maps 与进程相关的内存映射信息

/proc/18283/mem 指代进程持有的内存,不可读

/proc/18283/root 链接到进程的根目录

/proc/18283/stat 进程的状态

/proc/18283/statm 进程使用的内存的状态

/proc/18283/status 进程状态信息,比stat/statm更具可读性

方法一:PS

在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。

$ ps -T -p <pid>

“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。

方法二: Top

top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。

$ top -H

要让top输出某个特定进程<pid>并检查该进程内运行的线程状况:

$ top -H -p <pid>

背景:

由于上个同事没有交接清楚,发现机器上有很多路径下含有nginx,系统service也配置了nginx,但是使用系统配置的service nginx status是stop状态,实际有nginx进程在执行,需要定位到该进程所启动的nginx位置。

解决方案:

1.先使用ps查询出nginx的进程号此处记为PID

2.使用ll /proc/PID

3.查看cwd或者exe后的 ->指向的路径就是该进程对应的应用程序路径


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8694364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存