Se meu programa C usa soquetes, liga-se a localhost:9025
, troca alguns dados, é morto e reiniciado manualmente, às vezes ele trava com o erro sendo:
Endereço já em uso.
Todos os softwares recomendados pelo SE com os quais tentei procurar por “pid que usa porta” falharam em retornar qualquer id de processo, então presumo que não haja nenhum processo naquele momento que use port 9025
, o que deve ser o caso.
No entanto, pelo que reuni a partir de comentários sobre questões topicamente semelhantes, pareceu-me que "Endereço" já está "em uso" se e somente se um processo usar esse endereço específico. Por que isso é falso então?
Agora, suponho que o sistema operacional rastreie quais endereços estão em uso e quais não estão, mas é esse o caso? Se for, adoraria que você pudesse me dizer como faço para corrigir isso, porque minha melhor solução para esse problema é “esperar por um período de tempo indeterminado”.
EDIT: Eu uso Linux 5.2.2-arch1-1-ARCH x86_64