Vorwort (überspringen Sie das eigentliche Problem): Ich habe eine Anwendung, die auf Port 843 lauscht. Dieser Prozess wird als Root ausgeführt. Manchmal bleibt der Prozess lange hängen, wenn ich ihn beende (mit ^C). Da ich ungeduldig bin, beende ich ihn mit kill -9
. Das Problem besteht nun darin, dass Port 843 immer noch lauscht, obwohl dort keine Anwendung vorhanden ist.
Wenn ich mir anschaue lsof -i
, sehe ich, dass keine Prozesse auf 843 hören, auch nicht, wenn ich es als Root ausführe. Wenn ich mir netstat -a
jedoch anschaue, sehe ich, dass es hört, und sogar einige Verbindungen, die nicht richtig abgebaut wurden:
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
Eine ähnliche Frageempfiehlt mir, gar nicht erst in diese Situation zu geraten. Das ist ein guter Rat, aber ein bisschen hart, da es nicht meine Anwendung ist. Außerdem wäre es schön, wenn ich trotzdem wieder rauskäme.
Kann ich aus diesem Schlamassel irgendwie herauskommen, ohne neu zu starten? Ist die Tatsache, dass ich es als Root ausgeführt habe, wichtig? (Ich brauche Root nur, um auf Ports mit niedrigen Nummern zu lauschen, wofür ich keine Möglichkeit gefunden habe, ohne Software wie Authbind zu installieren).