三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何查看端口占用的进程路径?

美国、香港服务器

如何查看端口占用的进程路径?

02-13   来源:

查看服务器中占用某个端口的进程的实际可执行文件路径(核心是通过端口找到 PID,再通过 PID 定位进程路径),我给你两步极简法,直接复制命令就能查到,适配所有 Linux 系统(CentOS/Debian/Ubuntu),新手也能秒会。
一、核心步骤:先找 PID,再查路径
步骤 1:通过端口号获取进程 PID(以 8888 端口为例)
先执行命令找到占用目标端口的进程 PID,这是定位路径的关键:
bash
运行
# 替换8888为你要查询的端口号
PID=$(ss -tulnp | grep -w ":8888" | awk -F"," "{print $2}" | awk -F"=" "{print $2}" | awk "{print $1}")
# 验证PID是否获取成功(可选)
echo "占用8888端口的进程PID是:$PID"
参数说明:-w 确保精准匹配端口号(避免匹配 88880、18888 等相似端口);
若输出为空,说明该端口未被占用;若有数字输出(比如 1234),就是进程 PID。
备用命令(若 ss 命令不可用):
bash
运行
PID=$(netstat -tulnp | grep -w ":8888" | awk "{print $7}" | awk -F"/" "{print $1}")
步骤 2:通过 PID 查询进程的实际路径
拿到 PID 后,执行以下命令直接获取进程的可执行文件路径:
bash
运行
# 替换$PID为具体数字(比如1234)也可直接执行
ls -l /proc/$PID/exe
输出示例(8888 端口为宝塔面板):
plaintext
lrwxrwxrwx 1 root root 0 Feb 13 10:00 /proc/1234/exe -> /usr/bin/python3
箭头 -> 后的路径就是进程的实际可执行文件路径(这里是 Python3 解释器,因为宝塔面板基于 Python 运行);
若提示 “没有那个文件或目录”,说明进程已退出,或 PID 无效。
二、一键查询脚本(复制即用)
把以上两步整合成脚本,替换端口号即可一键查到路径,无需分步操作:
bash
运行
#!/bin/bash
# 替换这里的端口号为你要查询的端口(比如22、3306、80)
PORT=8888
 
# 第一步:获取PID
PID=$(ss -tulnp | grep -w ":$PORT" | awk -F"," "{print $2}" | awk -F"=" "{print $2}" | awk "{print $1}")
 
# 第二步:判断并输出结果
if [ -z "$PID" ]; then
  echo "端口$PORT 未被任何进程占用"
else
  echo "占用端口$PORT 的进程PID:$PID"
  echo "进程可执行文件路径:"
  ls -l /proc/$PID/exe 2>/dev/null || echo "无法获取路径(进程可能已退出)"
  
  # 额外输出进程的启动命令(可选,辅助确认)
  echo -e "\n进程启动命令:"
  cat /proc/$PID/cmdline 2>/dev/null | tr "\0" " "
fi
使用方法:
把脚本保存为 check_port_path.sh;
执行 chmod +x check_port_path.sh 赋予执行权限;
执行 ./check_port_path.sh,直接看到端口、PID、路径、启动命令。
三、补充:查看进程的工作目录(可选)
若想知道进程运行时的工作目录(而非可执行文件路径),执行:
bash
运行
# 替换1234为实际PID
pwdx 1234
输出示例:
plaintext
1234: /www/server/panel
表示该进程的工作目录在宝塔面板的安装目录下。
总结
查端口占用进程路径的核心逻辑:端口 → PID → /proc/PID/exe;
一键脚本可直接获取端口、PID、路径、启动命令,适合快速排查;
/proc/$PID/exe 是 Linux 系统定位进程实际路径的核心文件,必须用 root 用户执行才能查看;
若路径显示为 Python/Java 等解释器,说明该端口由脚本 / 程序运行,可通过/proc/$PID/cmdline查看具体启动命令。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何在命令行中查看某个特定端口的连接状态? 下一篇:如何在命令行中查看某个特定端口的详细信息?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器、香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)