2012-01-16 34 views
2

当我运行命令/usr/sbin/lsof -p 20085时,什么是“无法识别协议”。 lsof的输出如下所示套接字描述符泄漏 - lsof无法识别协议?

leak 20085 niki 3910u sock  0,5   2457507716 can't identify protocol 
leak 20085 niki 3911u sock  0,5   2457508136 can't identify protocol 
leak 20085 niki 3912u sock  0,5   2457509392 can't identify protocol 
leak 20085 niki 3913u sock  0,5   2457510457 can't identify protocol 
leak 20085 niki 3915u sock  0,5   2457510696 can't identify protocol 
leak 20085 niki 3916u sock  0,5   2457511180 can't identify protocol 
leak 20085 niki 3917u sock  0,5   2457511820 can't identify protocol 
leak 20085 niki 3918u sock  0,5   2457512402 can't identify protocol 
leak 20085 niki 3919u sock  0,5   2457513490 can't identify protocol 
leak 20085 niki 3920u sock  0,5   2457513493 can't identify protocol 
leak 20085 niki 3921u sock  0,5   2457643983 can't identify protocol 
leak 20085 niki 3922u sock  0,5   2457645099 can't identify protocol 
leak 20085 niki 3923u sock  0,5   2457645570 can't identify protocol 
leak 20085 niki 3924u sock  0,5   2457646223 can't identify protocol 
leak 20085 niki 3911u sock  0,5   2457508136 can't identify protocol 
leak 20085 niki 3912u sock  0,5   2457509392 can't identify protocol 

以及为什么此泄漏始终是袜子0,5。

注意:我创建了三个必须始终在运行时打开的套接字,除此之外没有创建文件/套接字,我的问题是我正在绕过5000+无法识别协议。这是为什么?

谢谢。

+2

你永远不会关闭或重新打开套接字?你如何打开插座?什么是插座打开的电话链?他们是在监听套接字还是连接到某个服务器? – 2012-01-16 07:07:18

+0

为什么这被标记为C? – 2012-01-16 08:17:36

+0

@Joachim Pileborg。我正在使用套接字(2)系统调用来打开套接字。我永远不会关闭套接字,我只能创建3个套接字。并且这些scokets将连接到某个服务器。 – sach 2012-01-16 10:37:30

回答

2

可能您正在函数调用中创建套接字,该套接字在循环中调用,但创建的套接字永远不会关闭,这会导致泄漏。

相关问题