Quando um socket muda para o estado TIME_WAIT, por que não consigo ver seu numero de inode?

1

Estou desenvolvendo um programa em python que analisa /proc/net/tcp informations, mas infelizmente, enquanto fazia isso, vi algo estranho.

Praticamente, quando uma alteração de soquete no estado TIME_WAIT , perde seu número de inode e eu não sei quem é o proprietário deste soquete.

Eu li alguns documentos sobre este problema TIME_WAIT , e eu entendi que a conexão está praticamente terminada, e permanece em espera apenas para garantir a transferência de dados.

Alguém sabe algo sobre isso?

    
por LordFire 15.08.2014 / 10:30

2 respostas

5

Quando o soquete está em TIME_WAIT , não há mais nenhum processo anexado a ele e o kernel é apenas segurando no caso de algum outro pacote chegar. Neste ponto, o software que originalmente abriu este soquete não possui mais uma descrição de arquivo aberto. É por isso que você não consegue encontrar nenhuma relação com isso. O soquete que existia em / proc / $ PID / fd não está mais lá.

    
por 15.08.2014 / 16:07
2

Um soquete em TIME_WAIT status não pertence mais a um processo, mas ao kernel. Como tal, há sem dono, é por isso que você não pode vê-lo:)

    
por 15.08.2014 / 15:58