Утечка дескриптора сокета - 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+, не может идентифицировать протокол. Почему это так?

Благодарю.

1 ответ

Решение

Возможно, вы создаете сокеты в вызове функции, который вызывается в цикле, но созданный сокет никогда не закрывается, и это приводит к утечке.

Другие вопросы по тегам