背景:端口明明在,但没搜索到
作为从事web开发
的人员,无论是mac linux windows
,每天几乎都会操作一个场景:找到web服务的pid
,然后看看它的服务端口是啥;还有一个场景你也时常会操作到:检查下某个端口是否开启。在实际场景中,你会遇到这种情况:“我根据pid
搜到的信息怎么没有显示端口数字啊,或者,我没有搜到这个端口,为啥用这个端口启动时提示端口已被占用呢”
现场复现
操作一波
启动一个kafka
服务(端口:9092
)
使用ss -ptl|grep 9092
结果显示没有找到,那换个命令看看呢,使用lsof
看看呢
很奇怪吧,服务是明明启动了,但是没有找到
我们看看其他的角度
解决办法
看看这个呢,出现了我们想要的结果
所以,要想真的找到我们的要找的端口,采取如下措施
- 》1. 使用
ss
命令时,加上-n
参数《 - 》2. 使用
lsof
命令时,加上-P
参数《
ss
的-n
参数的作用:Do not try to resolve service names (意思是不将ip的端口等解析为名称)lsof
的-P
参数的作用:inhibits the conversion of port numbers to port ames for names (意思是抑制端口数字转化为端口名称)
根本原因
如下:9092
与XmlIpcRegSvc
的关系
详细参考:Service Name and Transport Protocol Port Number Registry