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