sudo netstat -tulnp | grep :<端口号>
-t:TCP 端口-u:UDP 端口-l:仅显示监听套接字-n:不解析服务名(直接显示端口号)-p:显示进程 PID 和名称
根据 PID 查找相关文件位置
有了 PID,就可以查看该进程的详细信息:
1️⃣ 找到进程的可执行文件路径
1 | ls -l /proc/<PID>/exe |
示例:ls -l /proc/12345/exe 会显示指向实际可执行文件的符号链接。
2️⃣ 找到进程的当前工作目录
1 | pwdx <PID> |
或者:
1 | readlink /proc/<PID>/cwd |
3️⃣ 查看进程打开的所有文件(包括配置文件、日志文件等)
1 | ls -l /proc/<PID>/fd/ |
这列出了该进程打开的所有文件描述符,通过符号链接可以看到实际的文件路径。
4️⃣ 查看进程的完整命令行参数(可能包含配置文件路径)
1 | ps -ef | grep <PID> |
cmdline 文件以 \0 分隔参数,用 tr 转换为空格以便阅读。
5️⃣ 如果进程是一个服务(systemd 管理的),可以查看其单元文件
1 | systemctl status <服务名> # 先找到服务名 |