De la shutdown
page de manuel :
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.
D'après ce que je comprends, les processus peuvent être tués avant d'avoir été correctement nettoyés.
De la launchctl
page de manuel :
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.
C'est ce que je pense en arrêtant le système par le menu, c'est mieux car cela garantit que tous les processus de l'espace utilisateur sont quittés proprement avant d'arrêter/redémarrer le système.
Je serais tenté de dire que le launchctl
est meilleure, et la méthode shutdown -h now
méthode pourrait peut donner lieu à des bizarreries si un processus est tué avant de s'être correctement nettoyé.