
背景:
由于上个同事没有交接清楚,发现机器上有很多路径下含有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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)