Linux 查看运行中程序的所在路径

这篇笔记记录,在Linux 上排查问题,怎么快速定位一个正在运行的文件所在路径。

主要用到 psreadlink, 如下找正在运行的 nginx 二进制位置,

# 找到PID
$ ps -A | grep nginx
 2165 ?        00:00:00 nginx

# 找位置
$ readlink -f  /proc/2165/exe
/usr/sbin/nginx

还有查看这个程序打开了哪些文件。

ls -l /proc/2165/fd
total 0
lrwx------. 1 root root 64 Aug 13 01:43 0 -> /dev/null
l-wx------. 1 root root 64 Aug 13 01:43 1 -> pipe:[42628]
l-wx------. 1 root root 64 Aug 13 12:27 10 -> /var/log/nginx/xxxxx.log
lrwx------. 1 root root 64 Aug 13 12:27 11 -> socket:[44440]
l-wx------. 1 root root 64 Aug 13 12:27 3 -> pipe:[42628]
l-wx------. 1 root root 64 Aug 13 12:27 5 -> pipe:[42629]
l-wx------. 1 root root 64 Aug 13 01:43 6 -> pipe:[42628]
l-wx------. 1 root root 64 Aug 13 12:27 7 -> /var/log/nginx/xxxx.log
l-wx------. 1 root root 64 Aug 13 12:27 8 -> /var/log/nginx/xxxx.log

本文链接:参与评论 »

--EOF--

Comments