El puerto escucha, pero no es propiedad de nadie.

El puerto escucha, pero no es propiedad de nadie.

Prefacio (omita el problema real): Tengo una aplicación que escucha en el puerto 843. Este proceso se ejecuta como root. A veces, matar el proceso (con ^C) lo deja colgado durante mucho tiempo (¿para siempre?). Como estoy impaciente, lo mato con kill -9. El problema ahora es que el puerto 843 todavía está escuchando, aunque no haya ninguna aplicación allí.

Al mirar, lsof -ino veo ningún proceso escuchando 843, incluso cuando se ejecuta como root. Sin embargo, mirar netstat -amuestra que está escuchando, e incluso algunas conexiones que no fueron eliminadas correctamente:

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

Una pregunta similarrecomienda que no me meta en esta situación en primer lugar. Es un buen consejo, pero un poco difícil ya que no es mi aplicación. Además, sería bueno salir de esto de todos modos.

¿Hay alguna forma de salir de este lío sin reiniciar? ¿Es importante el hecho de que lo ejecuté como root? (Solo necesito root para escuchar puertos con números bajos, para lo cual no encontré una manera sin instalar software como authbind).

información relacionada