Linux 查找进程运行目录
有时候,我们可能忘了某个进程可执行文件的所在目录,需要定位进程运行目录。
可使用如下方法:
第一步:查看进程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