有时候,我们可能忘了某个进程可执行文件的所在目录,需要定位进程运行目录。
可使用如下方法:

第一步:查看进程ID

[root@versatile ~]# ps -ef | grep prometheus | grep -v grep
root      19023      1  0 06:07 ?        00:00:59 ./prometheus --config.file=prometheus.yml

第二步:根据进程ID查找目录

方法一:

[root@versatile ~]# lsof -p 19023 | grep cwd
prometheu 19023 root  cwd       DIR  253,0       189  33575112 /opt/prometheus-2.36.1.linux-amd64

方法二:

[root@versatile ~]# ll /proc/19023/ | grep cwd
lrwxrwxrwx  1 root root 0 Jul 22 14:30 cwd -> /opt/prometheus-2.36.1.linux-amd64

方法三:

[root@versatile ~]# pwdx 19023
19023: /opt/prometheus-2.36.1.linux-amd64

根据上面三种方法的结果可以看出,prometheus进程运行目录在/opt/prometheus-2.36.1.linux-amd64

补充

如果没有lsof命令,可以先安装

yum install lsof -y