• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]Abmeldung aus KDE vs. shutdown?

gm2601

Advanced Hacker
Hi Gurus!

Ich mal wieder mit einer reinen Interessensfrage.

In "man shutdown" liest man
shutdown brings the system down in a secure way. [...] All processes are first notified ...

aber irgendwie ist der "Rechner Ausschalten" KDE nicht dasselbe wie shutdown -h, denn immer wenn ich nach einer DVB-T-Aufnahme per "shutdown -h hh;mm" meine Kiste runterfahre, kommt am nächsten Tag der Firefox mir "Entschuldigung, das hätte nicht passieren dürfen" und der Frage "Neue Session oder alte reanimieren" (oder so ähnlich) daher.

Was unterscheidet die beiden Varianten, ein System anzuhalten?
Irgendwann hat man mir mal was von "SIG 15" erzählt, aber das ist lange her...

Im Voraus Danke für Erleuchtung
 
A

Anonymous

Gast
Da es hier auch sicherlich Unterschiede in einzelnen SUSE und KDE Versionen gibt und ich kein wirklicher Experte für KDE oder GNOME bin, hat das folgende somit auch keinen Anspruch auf Vollständigkeit oder 100% Richtigkeit, ist mehr so eine theoretische Erklärung für die Unterschiede die du bemerkt hast.

Ein Shutdown aus dem Linux-system fährt die Runlevelscripte herunter. Offene Userprozesse und ähnliches, welche ja nicht über die Runlevelscripte mit herunter gefahren werden, bekommen erst ein "kill -15" das gibt diesen Prozessen die Möglichkeit noch ihre Daten zu sichern, wenn es denn so einprogrammiert ist, und wenn sie sich darauf nicht reagieren und sich nicht beendet haben, dann gibt es noch den Totschläger "kill -9" hinterher. Dann können die Filesysteme ausgehängt werden, Diese Methode ist allumfassend, funktioniert sicher und so gut wie bei allen Prozessen immer, aber ist nicht intelligent genug, um auf Spezialitäten von einigen Programmgruppen einzugehen. Alles was nicht sicher in den Runlevelscripten definiert runtergefahren wird, wird eben abgeschossen.

Ein solches Vorgehen wird mit als eines der Ersten Aktionen das Runlevelscript für die Grafische Oberfläche ausführen, diese wird den X-Server beenden und damit die KDE oder GNOME abschießen. Das hat zur Folge das sämtliche Userprozesse dort mehr oder weniger ebenfalls abgeschossen werden, die meisten mit einem "kill -1" weil sich der Vaterprozess diese Prozesses beendet hat. Eine großartige Möglichkeit für die Programme jetzt noch die KDE Resourcen zu nutzen um noch das eine oder andere zu sichern, wird wohl hier kaum vorhanden sein, da diese Resourcen im selben Moment ebenfalls gezwungen werden sich zu beenden. Die Art wie diese Programme dort beendet werden ist ziemlich verwandt mit einem gewollt gezieltem Absturz aller Programme dort.

Wird jedoch das Herunterfahren aus der KDE an gestartet, dann hätte eine intelligente KDE jetzt die Möglichkeit erst einmal ihre Programme die aus dieser KDE heraus gestartet sind, so herunterzufahren, das diese sauber beendet werden, und auch deren offene Daten und Konfigurationsdateien alle geschrieben haben, soweit das in den einzelnen Programmen so berücksichtigt worden ist. Ist das erledigt, dann hat die KDE selbst jetzt noch die Möglichkeit ihren aktuellen Status sauber in den Konfigurationsdateien abzulegen und sich dann selbst zu beenden. Bis hier her sind alle internen Resourcen die die KDE ihren Programmen zur Verfügung stellt, immer noch alle intakt. und erst nachdem dann die KDE soweit fertig ist, wird die weitere Steuerung an den normalen Shutdown des Systems übergeben, der dann den Rest erledigt und den Rechner herunterfährt.

robi
 
OP
gm2601

gm2601

Advanced Hacker
Danke für die umfassende Darlegung, die en passant auch noch erklärt, warum nach einem Neustart zwar "amarok" wieder im "Systemabschnitt der Kontrollleiste" auftaucht, nicht aber Clementine.

Verstehe ich das richtig, daß der Firefox dann eigentlich von /etc/init.d/rc5.d respektive .../kdb oder .../xdm beendet werden müßte?

Muß mal einen /sbin/init [-t sec] 0 versuchen, um zu sehen was der treibt.... oder ist das barer Unfug, weil es dem reboot -h entspräche?

Nachtrag:
Siehe da, das geht brutal fix, aber der Fox hat danach keine Probleme, dh. auch das verhält sich unterschiedlich...
Muß man nicht unbedingt verstehen.
 
A

Anonymous

Gast
"init 0 " und "shutdown -h" ist faktisch das selbe, (so war das jedenfalls immer, mit der traditionellen Methode, könnte sich jetzt in Suse 12.x geändert haben) mit dem Unterschied das bei einem Shutdown angemeldete User noch vorher die Meldung bekommen, das das System herunter zu fahren gedenkt. Die Zeiten sind nur die Verzögerung bis es dann losgeht. Zu beobachten gibts da wenig.

Firefox ist ein eigenständiges Programm ohne jegliches externes Start/Stop/Script, müsste sauber entweder mit "beenden" oder mit schließen des Fensters beenden. Damit es nicht wieder versucht die alten Webseiten beim Neustart zu laden. Wird das Programm irgendwie gekillt oder stürzt ab, dann kommt beim Start genau die Meldung die dich fragt ob es die alte Session wieder herstellen soll. Zusätzlich müsste noch die KDE sauber beendet werden, da sie sonst beim Start automatisch wieder alle Fenster herstellt und die entsprechenden Programme dazu startet die es vorher offen hatte und deren letzten Status und Position sie sich gemerkt hat. Denke ich jedenfalls, müsste man notfalls ausprobieren.

robi
 
OP
gm2601

gm2601

Advanced Hacker
robi schrieb:
"init 0 " und "shutdown -h" ist faktisch das selbe, .....
Clementine sieht das auch so (ich schau mal, ob's da was neueres gibt), nur der Fox erspäht da offenbar einen winzigen Unterschied.

Wie gesagt, ich will da keine große Sache daraus machen, es interessierte mich auf der Ebene "nicht tragisch, aber vielleicht kennt wer den Hintergrund"
 

josef-wien

Ultimate Guru
Wenn Firefox mit SIGHUP (1) oder SIGKILL (9) beendet wird, kommt es beim nächsten Start zur bewußten Meldung. Wenn Firefox mit SIGTERM (15) beendet wird, hängt es davon ab, ob mehrere Tabs geöffnet sind; bei einem Tab ist alles in Ordnung, bei mehreren Tabs kann Firefox nicht mehr fragen, ob er diese speichern oder vergessen soll, und gibt beim nächsten Start ebenfalls die bewußte Meldung aus. Ich nehme an, das hat sich auch bei der aktuellen Version nicht geändert.
 
OP
gm2601

gm2601

Advanced Hacker
Hut ab!!!
Das scheint den Nagel auf den Kopf zu treffen, denn meist habe ich mehrere Tabs im Fox offen. Als ich den init 0 testete war das aller Wahrscheinlichkeit nach nicht der Fall.
So betrachtet ist untermauert, daß -wie @Robi schon sagte- init 0 und shutdown die gleichen Signale schicken, nur der "Kontrolleisten-Halt" scheint eine Möglichkeit zu haben, noch "zärtlicher" mit den Prozessgenerationen umzugehen.
Für einen User wie mich "nice to know" aber nicht "important to know".
 
Oben