套接字描述符泄漏 - lsof 无法识别协议?



当我运行命令/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多个无法识别协议的套接字。为什么会这样?

谢谢。

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

最新更新