Encerre sem mostrar uma caixa de diálogo de confirmação:
osascript -e 'tell app "System Events" to shut down'
Encerre após mostrar uma caixa de diálogo de confirmação:
osascript -e 'tell app "loginwindow" to «event aevtrsdn»'
Reinicie sem mostrar uma caixa de diálogo de confirmação:
osascript -e 'tell app "System Events" to restart'
Reinicie após mostrar uma caixa de diálogo de confirmação:
osascript -e 'tell app "loginwindow" to «event aevtrrst»'
Efetue logout sem mostrar uma caixa de diálogo de confirmação:
osascript -e 'tell app "System Events" to «event aevtrlgo»'
Efetue logout após exibir uma caixa de diálogo de confirmação:
osascript -e 'tell app "System Events" to log out'
Vá dormir ( pmset
):
pmset sleepnow
Vá dormir (AppleScript):
osascript -e 'tell app "System Events" to sleep'
Coloque as telas em suspensão (10.9 e posterior):
pmset displaysleepnow
Os códigos de quatro letras para os eventos da Apple estão listados em AERegistry.h
.
Todos os comandos de eventos do sistema acima enviam eventos da Apple para o loginwindow
processo. loginwindow
recebe os mesmos eventos da Apple como acima, quando você efetua logout, reinicia, encerra ou coloca o Mac em modo de suspensão normalmente. Consulte Perguntas e respostas técnicas QA1134: Programaticamente causando reinicialização, desligamento e / ou logout .
De acordo com man shutdown
, shutdown -h now
e shutdown -r now
send processa um TERM
sinal seguido por um KILL
sinal.
De acordo com o Guia de Programação de Serviços e Serviços da Daemons , quando você solicita o loginwindow
logout, os processos que oferecem suporte à terminação súbita são enviados KILL
e os processos que não oferecem suporte à terminação súbita são finalizados de maneiras diferentes: Os aplicativos de cacau recebem o applicationShouldTerminate:
método delegado, os aplicativos de primeiro plano receba o kAEQuitApplication
evento Apple, os aplicativos em segundo plano recebem o kAEQuitApplication
evento Apple seguido por um KILL
sinal e os daemons recebem um TERM
sinal seguido por um KILL
sinal após alguns segundos.