【问题描述】
现象:
netstat 加上-p选项后,有部分端口没有显示占用该端口的pid和进程名,而以“-”代替。如图。
原因说明:
由于每天8点和20点两次dailyrestart会杀死服务然后创建新的服务进程,Linux分配的进程连接的socket id会逐渐增大。当服务器运行较长的一段时间,期间没有进行断电重启时,这个socket id将会超过 INT_MAX (即2^31)。而netstat的源代码中对socket id大于INT_MAX的进程不予处理。
【问题处理】
使用git上作者提供的patch,对源码进行重新编译打包。net-tools-1.60.x86_64.rpm
执行:rpm -Uvh net-tools-1.60.x86_64.rpm
效果如下图。
仅做记录