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

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

背景:

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

解决方案:

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

2.使用ll /proc/PID

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

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

一、查看软件安装路径:

Linux软件安装的地方不止一个地方,先说查看软件安装的所有路径(地址)。

这里以Mysql为例。比如说我安装了Mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径《Linux就该这么学》这本书上有详细的介绍

在终端输入:

whereis mysql

回车,如果你安装好了Mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)

mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

可以看出来,mysql安装在这些目录里。

如果你没有安装mysql,则不会显示文件路径出来。

二、查询运行文件所在路径:

如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以Mysql为例):

which mysql

结果会显示:

/usr/bin/mysql


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

原文地址:https://54852.com/yw/11133008.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存