在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 lsof
sudo yum install net-tools lsof
ss -tulnp
ss -lntp | grep <进程名>
lsof -i :<端口号>
根据需求选择最适合的方法即可!