查询某进程监听的端口:
lsof -p [process_id]
[process_id]为进程ID。
默认是展示的端口对应的服务,举例如下:
...
nginx 1573 yixiang 22u IPv4 28324 0t0 TCP *:http (LISTEN)
nginx 1573 yixiang 23u IPv4 28325 0t0 TCP *:https (LISTEN)
...
如果要展示出端口号,则需要加-P参数,如下:
lsof -P -p [process_id]
有时候程序启动发现端口被占用了,就是已知端口号,但要知道是哪个进程在使用:
netstat -tpnl | grep 8200
-t表示只查看tcp的,-p表示显现出进程名和进程号,-n表示host和port都用数字来显示,-l表示只查看监听的端口。
Linux下有一个文件记录着常用端口和服务名的映射关系,路径为:/etc/services