Linux下查询某进程对应的应用程序路径

Linux下查询某进程对应的应用程序路径,第1张

背景:

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

解决方案:

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

2.使用ll /proc/PID

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

Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,键裤改在该文件夹下会有我们的进程的信息.

这些信息,有的是软链接,有的是文本,有的是目录.

查看这些信息需要对应的权限.

其中部分常用信息如下.

cwd 符号链接, 是进程运行目录. sudo ls -al /proc/PID/cwd

exe 符号连接, 是执稿判行程序的绝对路径. sudo ls -al /proc/PID/exe

cmdline 文本, 是程序运行时输入的命令行命令. sudo cat /proc/PID/cmdline

environ 文本, 记录了进程运行时的环境变量. sudo cat /proc/PID/environ

fd 目录, 里面是进程打开纯饥或使用的文件的符号连接. sudo ls -al /proc/PID/fd

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更具可读性


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存