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 loginwindow
processo. loginwindow
viene 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 now
e shutdown -r now
invia i processi un TERM
segnale seguito da un KILL
segnale.
Secondo la Guida alla programmazione di demoni e servizi , quando si dice loginwindow
di disconnettersi, i processi che supportano la chiusura improvvisa vengono inviati un KILL
segnale 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' kAEQuitApplication
evento Apple, le applicazioni in background ricevono l' kAEQuitApplication
evento Apple seguito da un KILL
segnale e i demoni ricevono un TERM
segnale seguito da un KILL
segnale dopo alcuni secondi.