Was ist der Unterschied zwischen der Ausgabe eines Befehls shutdown -h now
im Terminal und dem Herunterfahren über das Apple-Menü?
Mit dem Befehl wird das System sofort heruntergefahren. Aber über das Menü dauert es etwa 30-40 Sekunden.
Ist es auch sicher, den Befehl shutdown -h now
die ganze Zeit zu verwenden?
Aus der shutdown
Manpage:
Upon shutdown, all running processes are sent a SIGTERM followed by a
SIGKILL. The SIGKILL will follow the SIGTERM by an intentionally inde-
terminate period of time. Programs are expected to take only enough time
to flush all dirty data and exit. Developers are encouraged to file a
bug with the OS vendor, should they encounter an issue with this func-
tionality.
Soweit ich weiß, können Prozesse beendet werden, bevor sie ordnungsgemäß bereinigt wurden.
Aus der launchctl
Manpage:
reboot [system|userspace|halt|logout|apps|reroot <mount-point>]
Instructs launchd to begin tearing down userspace. With no argu-
ment given or with the system argument given, launchd will make
the reboot(2) system call when userspace has been completely
torn down. With the halt argument given, launchd will make the
reboot(2) system call when userspace has been completely torn
down and pass the RB_HALT flag, halting the system and not ini-
tiating a reboot.
Dies ist meiner Meinung nach das Herunterfahren über das Menü. Es ist besser, da es sicherstellt, dass alle Userland-Prozesse sauber beendet werden, bevor das System angehalten / neu gestartet wird.
Ich wäre versucht zu sagen, dass die launchctl
Methode besser ist, und die shutdown -h now
Methode könnte möglicherweise zu einigen Kuriositäten führen, wenn ein Prozess beendet wird, bevor er sich ordnungsgemäß bereinigt.
Gordon Davisson
shutdown -h
haben Sie keine Möglichkeit, diese zu speichern. Bin mir bei derlaunchctl
Methode nicht sicher...