Linux shutdown Verhalten

Software besorgen und anwenden
Post Reply
Message
Author
neun11turbo

Linux shutdown Verhalten

#1 Post by neun11turbo »

Hallo,

ich hoffe einer der Linux Gurus hier kann mir weiterhelfen... ;-)

Ich habe vom WIndows PC über Putty eine Telnet Session mit einem Linux Device. Wenn ich das Linux über diese Session runterfahre (mit 'shutdown -t now'), wird die Telnet Verbindung nicht getrennt. (d.h. das Putty-Fenster schließt sich nicht...).

Bei einem anderen Linux Gerät (beides sind Sat Receiver (eine Dreambox und eine D-Box) dagegen wird die Telnet Verbindung beim Shutdown sauber beendet (d.h. das Putty Fenster schließt sich).

Daraus schliesse ich messerscharf - ohne allerdings irgendeine Ahnung davon zu haben... - daß es offensichtlich irgendwo in Linux eine Einstellung geben muss, die dieses Verhalten beim Shutdown steuert - also: shutdown ohne vorher bestehende Telnet Verbindungen zu kappen oder Shutdown und vorher diese bestehenden Verbindungen kappen.

Kann mir jemand die Richtung zeigen, in der ich graben muß um die entsprechenden EInstellungen vorzunehmen?

Danke für alle Antworten,

Klaus

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#2 Post by Lateralus »

Die Frage ist, wie der Init-Prozess aussieht. Unter Linux sieht es meistens so aus, dass jeder Dienst explizit beendet wird. Unter FreeBSD z.B. (wo ich ein solches Verhalten, dass Remote-Sessions nicht geschlossen werden auch feststellte) schickt Init einfach an alle Prozesse das Signal 5 (SIGTERM) und später 9 (SIGKILL). Dabei können eventuell nicht alle Prozesse sauber beendet werden, so dass Netzwerkverbindungen offen bleiben.

Wie du dieses Verhalten allerdings ändern kannst, kann ich dir nicht sagen - man müsste vielleicht ein anderes Init verwenden, aber das erscheint mir gefährlich und unrealistisch.

neun11turbo

#3 Post by neun11turbo »

Ich hab ein bischen rumprobiert und jetzt eine Lösung gefunden, bei der es zumindest so funktioniert, wie ich es will...:

ich hab nach /etc/rc0.d eine Datei mit dem Namen K10telnetd gestellt und die Rechte auf 755 gesetzt. Inhalt ist:

#!/bin/sh
killall telnetd

... und jetzt geht es einwandfrei. Der hat wohl den inetd vor dem telnetd gekillt und das mochte der wohl nicht... Keine Ahnung, ob ich mir da jetzt irgendwelche unerwünschten Nebeneffekte eingefangen habe... :roll:

Klaus

Post Reply