SMC und PRAM habe ich auch schon zurückgesetzt, auch die
Zugriffsrechte habe ich repariert.
Was aber nichts mit dem Problem zu tun hatte…
Kleiner Ausflug: Wenn der Mac runterfährt, bekommen alle noch offene Programme resp. Prozesse die freundliche Aufforderung, sich zu verabschieden. Machen sie dies nicht, kommt ein Kill-Signal.
Das System wartet also erst mal ab, daß die Prozessliste leer wird und das kann eben dauern. Bei Windows kommt bei störrischen Programmen dann die Meldung, daß irgend ein Programm nicht mehr reagiert blabla, beim Mac sieht man das, wenn überhaupt, nur im Systemlog.
Dazu muss man wissen, daß Prozesse hierarchisch geordnet sind, so sind alle Programme, die ein User auf der GUI gestartet hat, quasi Kinder des GUI-Prozesses. Wird der (zwangs-)beendet, nimmt er alle Kinder mit. Dabei werden dann auch die störrischsten Programme abgeschossen, sofern sie weder auf die freundliche Aufforderung reagierten - noch auf den Kill-Befehl. Seit 10.5 hat Apple aber auch etwas unter der Haube geändert, was leider nicht immer dieses komplette Abschießen aller Prozesse garantiert. Das merkt man dann, wenn z.B. ein reboot -q bei weitem nicht mehr ein einigermaßen sicheres Neustarten herbeiführt (ungraceful reboot), sondern auch da Kisten beim Runterfahren hängenbleiben - seeehr ärgerlich, wenn das ein Server ist und 100km entfernt… Da muss Apple noch nachbessern.
Eben weil da nichts ging, habe ich das ganze mit einer
Neuinstallation abgekürzt.
Solche Fehler zu finden ist auch nicht gerade einfach, denn man findet die notwendigen Hinweise nur sehr tief in den Systemlogs - und zum Teil auch nur dann, wenn man bestimmte Schalter erst mal umlegt. Das normalsterbliche Anwender weder wissen, wo diese Schalter sind noch von deren Existenz überhaupt wissen, dürfte auch klar sein. So ein vermeintlich einfaches Problem ist also alles andere als trivial. Hübsch in diesem Zusammenhang ist ein altes Beispiel bei Windows 98. Da kam es sehr oft vor, daß Kisten nicht runtergefahren sind, wenn sie Netzlaufwerke verbunden hatten. Grob passierte da folgendes: Das System hatte Treiber schon entladen und versuchte dann erst, die Serververbindungen zu beenden. Wartete dann halt auf Godot, denn wo keine Treiber mehr, da auch keine Antwort… Microsoft hat diesen Fehler nie behoben, sondern hat lapidar in die Knowledgebase den Hinweis geschrieben, daß das halt passieren kann. Jo, klasse.
Im Verbose Mode habe ich gelesen, dass mein iMac die
Partitionen „/home“ und „/net“ nicht aushängen konnte.
Außerdem waren da auch einige Prozesse, die nach dem
SIGTERM-Befehl wohl immer noch liefen. Da war auch noch „die
Rede“ von einem „herumirrenden“ Prozess (stray)?
Apple hat wie erwähnt etwas beim Runterfahren geändert, hängt damit zusammen, daß Apple nicht mehr Init verwendet, sondern alles den launchd machen läßt. Und da ist wohl noch nicht alles so durchdacht, wie das beim Initprozess wohl war. Und dann kommt es zu diesen Hängern.