Chiudi senza mostrare una finestra di conferma:
osascript -e 'tell app "System Events" to shut down'
Chiudi dopo aver mostrato una finestra di conferma:
osascript -e 'tell app "loginwindow" to «event aevtrsdn»'
Riavvia senza mostrare una finestra di conferma:
osascript -e 'tell app "System Events" to restart'
Riavvia dopo aver mostrato una finestra di conferma:
osascript -e 'tell app "loginwindow" to «event aevtrrst»'
Esci senza mostrare una finestra di conferma:
osascript -e 'tell app "System Events" to «event aevtrlgo»'
Esci dopo aver mostrato una finestra di conferma:
osascript -e 'tell app "System Events" to log out'
Vai a dormire ( pmset):
pmset sleepnow
Vai a dormire (AppleScript):
osascript -e 'tell app "System Events" to sleep'
Metti in pausa i display (10.9 e successivi):
pmset displaysleepnow
I codici a quattro lettere per gli eventi Apple sono elencati in AERegistry.h.
Tutti i comandi Eventi di sistema sopra riportati inviano eventi Apple al loginwindowprocesso. loginwindowviene inviato gli stessi eventi Apple di cui sopra quando ci si disconnette, si riavvia, si spegne o si mette il Mac in modalità di sospensione normale. Vedere Domande e risposte tecniche QA1134: causa di riavvio, arresto e / o disconnessione a livello di programmazione .
Secondo man shutdown, shutdown -h nowe shutdown -r nowinvia i processi un TERMsegnale seguito da un KILLsegnale.
Secondo la Guida alla programmazione di demoni e servizi , quando si dice loginwindowdi disconnettersi, i processi che supportano la chiusura improvvisa vengono inviati un KILLsegnale e i processi che non supportano la chiusura improvvisa vengono terminati in diversi modi: le applicazioni Cocoa ricevono il applicationShouldTerminate:metodo delegato, le applicazioni in primo piano riceve l' kAEQuitApplicationevento Apple, le applicazioni in background ricevono l' kAEQuitApplicationevento Apple seguito da un KILLsegnale e i demoni ricevono un TERMsegnale seguito da un KILLsegnale dopo alcuni secondi.