Assolutamente preferisci shutdown -h per estrarre il cavo di alimentazione dal muro. shutdown offre un'opportunità per macOS di pulire esci da importanti processi sottostanti e svuota le cache dei file nella memoria.
Evita shutdown
Avere ha implementato un lieve spegnimento programmatico , l'esperienza ci ha insegnato che dovresti cercare di evitare shutdown -h quando hai effettuato l'accesso agli utenti e hai eseguito applicazioni grafiche per Mac:
shutdown is a blunt tool that will in most cases shut down your Mac. It works at a layer below the Mac's user interface and is roughly the equivalent of force quitting everything.
With shutdown, Mac applications that would have quit nicely are not given the chance. In most cases using shutdown should be fine but care needs to be taken about denying applications of the opportunity to quit nicely.
- Spegnimento sicuro del tuo Mac , dssw.co.uk
Preferisci kAEShutDown
Se sei in grado, segui i consigli di Apple in Q & A QA1134 - A livello di codice che causa il riavvio, spegnimento e / o disconnessione . Questo consiglio può essere riassunto come: emettere un kAEShutDown AppleEvent nel sistema.
Tieni presente che l'utilizzo solo di kAEShutDown ha i suoi limiti, questi sono discussi in Come spegnere il Mac usando AppleScript .
Da AppleScript o Command Line
Puoi utilizzare uno snippet di AppleScript per emettere il kAEShutDown utilizzando:
tell application "Finder"
shut down
end tell
O utilizzando lo strumento da riga di comando osascript :
osascript -e 'tell application "Finder" to shut down'
Contatore del metodo macOS
In termini di processi non grafici, shutdown è ragionevole. Per qualsiasi cosa grafica o a livello utente, dovresti evitarlo. L'emissione di shutdown non è appropriata per l'uso regolare su macOS; come misura di emergenza va bene, ma non come soluzione pre-ponderata.
Gli utenti imparerebbero rapidamente ad evitare un'applicazione che ha emesso semplicemente shutdown invece di emettere la richiesta tramite AppleEvent.