在Linux系统中,查看进程占用的端口可以通过以下几种方法实现:
netstat 命令sudo netstat -tulnp
-t:显示TCP端口-u:显示UDP端口-l:仅显示监听中的端口-n:以数字形式显示地址和端口(不解析域名和服务名)-p:显示进程名和PID(需要sudo权限)输出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
ss 命令(推荐,更高效)sudo ss -tulnp
netstat 类似,但性能更高(ss 是 netstat 的现代替代工具)。pgrep nginx # 示例:查找Nginx的PID
或
pidof nginx
sudo ss -lntp | grep "pid=1234" # 替换1234为实际PID
lsof 命令sudo lsof -i -P -n | grep LISTEN
-i:显示网络连接-P:禁用端口别名(直接显示数字端口)-n:禁用域名解析(显示IP地址)输出示例:
nginx 1234 root 6u IPv4 0xabc123 0t0 TCP *:80 (LISTEN)
sudo lsof -i :22 # 查看占用22端口的进程
或
sudo ss -ltnp 'sport = :22'
sudo 权限。sudo apt install net-tools lsofsudo yum install net-tools lsofss -tulnpss -lntp | grep <进程名>lsof -i :<端口号>根据需求选择最适合的方法即可!