Arresta senza mostrare una finestra di dialogo di conferma:
osascript -e 'tell app "System Events" to shut down'
Spegni dopo aver visualizzato una finestra di dialogo di conferma:
osascript -e 'tell app "loginwindow" to «event aevtrsdn»'
Riavvia senza mostrare una finestra di dialogo di conferma:
osascript -e 'tell app "System Events" to restart'
Riavvia dopo aver visualizzato una finestra di dialogo di conferma:
osascript -e 'tell app "loginwindow" to «event aevtrrst»'
Esci senza mostrare una finestra di dialogo di conferma:
osascript -e 'tell app "System Events" to «event aevtrlgo»'
Esci dopo aver visualizzato una finestra di dialogo di conferma:
osascript -e 'tell app "System Events" to log out'
Vai a sleep ( pmset
):
pmset sleepnow
Vai a dormire (AppleScript):
osascript -e 'tell app "System Events" to sleep'
Metti display in stato di stop (10.9 e successivi):
pmset displaysleepnow
I quattro codici lettera per gli eventi Apple sono elencati in AERegistry.h
.
Tutti i comandi di System Events precedenti inviano gli eventi Apple al processo loginwindow
. loginwindow
viene inviato gli stessi eventi Apple di cui sopra quando esci, riavvia, chiudi o metti il Mac in modalità di sospensione normale. Vedi Q & Tecnico tecnico QA1134: causa di riavvio, spegnimento e / o disconnessione programmati .
In base a man shutdown
, shutdown -h now
e shutdown -r now
send processa un segnale TERM
seguito da un segnale KILL
.
In base alla Guida alla programmazione di Daemon e servizi , quando dici a loginwindow
di uscire, i processi che supportano la terminazione improvvisa ricevono un segnale KILL
ei processi che non supportano la terminazione improvvisa vengono terminati in diversi modi: Le applicazioni Cocoa ricevono il metodo applicationShouldTerminate:
delegate, applicazioni in primo piano ricevi l'evento kAEQuitApplication
Apple, le applicazioni in background ricevono l'evento kAEQuitApplication
Apple seguito da un segnale KILL
, e i daemon ricevono un segnale TERM
seguito da un segnale KILL
dopo pochi secondi.