Socket/Backlog killen?

Post Reply
Message
Author
Elmi

Socket/Backlog killen?

#1 Post by Elmi »

Hi,

ich habe folgendes Problem: beim offenbar unsauberen Beenden eines Servers ist ein noch mit diesem verbundener Client hängen geblieben, sprich netstat sagt mir, das noch jemand mit dem entsprechenden Port verbunden ist, obwohl der Serversocket schon nicht mehr existiert.

Das führt bei dem Versuch, den Server neu zu starten natürlich zu einer Fehlermeldung, weil der entsprechende Port noch belegt ist, bind() schlägt also fehl.

Gibt es nun eine Möglichkeit, den Socket bzw. die Verbindung irgend wie zu killen OHNE dafür gleich das ganze System neu zu starten?

Thx

Elmi

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#2 Post by jochen »

Wenn der Server unsauber beendet wurde, dann hängt vielleicht noch eine Prozessleiche auf Deinem System, die den Socket offen hat. Ein

Code: Select all

lsof -i TCP&#58;<portnummer>
nennt Dir den Prozess, der den Socket auf Deinem System noch offen hat. Sollte es ein UDP-Port sein, ersetze "TCP" durch "UDP".

Jochen
Die grösste Lüge der EDV? "Mal eben..."

Elmi

#3 Post by Elmi »

Ergebnis: keiner, der Server ist tatsächlich vollständig weg.

Netstat zeigt mir aber noch die Verbindung:

tcp 1 44757 xxx.yyy.zzz.aaa:8005 bbb.ccc.ddd.eee:34289 LAST_ACK

Post Reply