linux根据id查找进程,Linux如何根据进程ID查找启动程序的路径

遇到一个问题,背景是这样的:我们工作环境不正常,使用ps命令查看,发现有程序A的两个进程状态一个是状态,一个是正常运行.由于该程序A是个通用服务程序,被拷贝成多份,分发到不同的目录中单独启动,只有各自配置不同而已,因此想知道是哪个目录的A程序处于僵死状态.

正常运行中的进程树关系如下(为了简化,只显示一部分进程):

$ ps x

PID TTY      STAT   TIME COMMAND

17279 pts/8    Ss     0:00  -bash

18618 pts/8    R+     0:00  ps xf

18283 pts/8    S       0:00  A

18284 pts/8    S       0:00  A

18321 pts/8    S       0:00 a

18322 pts/8    S       0:00 a

出问题时进程的状态为:

$ ps x

PID TTY      STAT   TIME COMMAND

17279 pts/8    Ss     0:00  -bash

18618 pts/8    R+     0:00  ps xf

18283 pts/8    Z       0:00  A

18284 pts/8    S       0:00  A

18321 pts/8    S       0:00 a

18322 pts/8    S       0:00 a

找到某进程启动路径的方法是:

1.我们可以从ps命令中得到僵死进程的PID,如上例中18283.

2.进入/proc目录下以该PID命名的目录中

3.输入ls -l ,结果中 exe链接对应的就是可执行文件的全路经

$ ls -l /proc/18283

总计 0

dr-xr-xr-x 2 qhkf qhkf 0 01-06 11:14 attr

-r-------- 1 qhkf qhkf 0 01-06 11:14 auxv

-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 cmdline

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 cpuset

lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 cwd -> /v8t/qhkf/risk_b/kssmdb

-r-------- 1 qhkf qhkf 0 01-06 11:14 environ

lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 exe -> /v8t/qhkf/risk_b/kssmdb/A

dr-x------ 2 qhkf qhkf 0 01-06 10:38 fd

-rw-r--r-- 1 qhkf qhkf 0 01-06 11:14 loginuid

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 maps

-rw------- 1 qhkf qhkf 0 01-06 11:14 mem

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 mounts

-r-------- 1 qhkf qhkf 0 01-06 11:14 mountstats

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 numa_maps

-rw-r--r-- 1 qhkf qhkf 0 01-06 11:14 oom_adj

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 oom_score

lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 root -> /

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 schedstat

-r-------- 1 qhkf qhkf 0 01-06 11:14 smaps

-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 stat

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 statm

-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 status

dr-xr-xr-x 6 qhkf qhkf 0 01-06 11:14 task

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 wchan

剩下的就是排查问题了.OVER.0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值