Prefácio (pule para o problema real): Tenho um aplicativo que está escutando a porta 843. Este processo é executado como root. Às vezes, interromper o processo (com ^C) o deixa suspenso por um longo tempo (para sempre?). Sendo impaciente, eu mato com kill -9
. O problema agora é que a porta 843 ainda está escutando, mesmo que não haja nenhum aplicativo lá.
Olhando, lsof -i
não vejo nenhum processo ouvindo 843, mesmo quando executado como root. Olhar para netstat -a
, no entanto, mostra que ele está escutando e até mesmo algumas conexões que não foram interrompidas corretamente:
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp6 0 0 localhost.843 localhost.60927 CLOSE_WAIT
tcp6 386 0 localhost.843 localhost.60926 CLOSE_WAIT
tcp6 0 0 localhost.843 localhost.60925 CLOSE_WAIT
tcp6 386 0 localhost.843 localhost.60924 CLOSE_WAIT
tcp46 0 0 *.843 *.* LISTEN
tcp4 0 0 *.843 *.* LISTEN
Uma pergunta semelhanterecomenda que eu não entre nessa situação em primeiro lugar. Esse é um bom conselho, mas um pouco difícil, pois não é minha aplicação. Além disso, seria bom sair dessa de qualquer maneira.
Existe alguma maneira de sair dessa bagunça sem reiniciar? O fato de eu ter executado como root é importante? (Eu só preciso de root para ouvir portas de número baixo, para as quais não encontrei uma maneira sem instalar software como o authbind).