如何通过端口查找出进程所在目录?

一、找到端口对应的进程的号(PID)

[root@benbang ~]# ss -lntup|grep 6379
tcp    LISTEN     0      511    127.0.0.1:6379                  *:*                   users:(("redis-server",pid=914,fd=6))

二、显示/proc/进程号/cwd

cwd符号链接的是进程运行的目录

[root@benbang ~]# ll /proc/914/cwd
lrwxrwxrwx 1 redis redis 0 Aug  1 15:53 /proc/914/cwd -> /usr/local/redis/var

exe符号链接的是执行程序的绝对路径;

[root@benbang ~]# ll /proc/914/exe 
lrwxrwxrwx 1 redis redis 0 Jul 22 21:57 /proc/914/exe -> /usr/local/redis/bin/redis-server

cmdline就是程序运行时输入的命令行命令;
environ记录了进程运行时的环境变量;
fd目录下是进程打开或使用的文件的符号连接

[root@benbang ~]# ll /proc/914/fd
total 0
lrwx------ 1 redis redis 64 Jul 22 21:58 0 -> /dev/null
lrwx------ 1 redis redis 64 Jul 22 21:58 1 -> /dev/null
lrwx------ 1 redis redis 64 Jul 22 21:58 2 -> /dev/null
lr-x------ 1 redis redis 64 Jul 22 21:58 3 -> pipe:[13725]
l-wx------ 1 redis redis 64 Jul 22 21:58 4 -> pipe:[13725]
lrwx------ 1 redis redis 64 Jul 22 21:58 5 -> anon_inode:[eventpoll]
lrwx------ 1 redis redis 64 Jul 22 21:58 6 -> socket:[13739]

 参考地址:http://lidao.blog.51cto.com/3388056/1914205

原文地址:https://www.cnblogs.com/jmaly/p/7269309.html