【发布时间】:2012-01-16 06:34:15
【问题描述】:
当我运行命令/usr/sbin/lsof -p 20085 时,什么是“无法识别协议”。 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+ 无法识别协议。为什么会这样?
谢谢。
【问题讨论】:
-
您从不关闭或重新打开套接字?如何打开插座?套接字开口的调用链是什么?他们是在监听套接字还是你连接到某个服务器?
-
为什么这被标记为C?
-
@Joachim Pileborg。我正在使用 socket(2) 系统调用来打开套接字。我永远不会关闭套接字,我只创建 3 个套接字。 scokets 将连接到某个服务器。