Apague sin mostrar un diálogo de confirmación:
osascript -e 'tell app "System Events" to shut down'
Apague después de mostrar un diálogo de confirmación:
osascript -e 'tell app "loginwindow" to «event aevtrsdn»'
Reinicie sin mostrar un diálogo de confirmación:
osascript -e 'tell app "System Events" to restart'
Reinicie después de mostrar un cuadro de diálogo de confirmación:
osascript -e 'tell app "loginwindow" to «event aevtrrst»'
Cerrar sesión sin mostrar un diálogo de confirmación:
osascript -e 'tell app "System Events" to «event aevtrlgo»'
Cerrar sesión después de mostrar un cuadro de diálogo de confirmación:
osascript -e 'tell app "System Events" to log out'
Ve a dormir ( pmset):
pmset sleepnow
Ve a dormir (AppleScript):
osascript -e 'tell app "System Events" to sleep'
Poner pantallas para dormir (10.9 y posterior):
pmset displaysleepnow
Los códigos de cuatro letras para los eventos de Apple se enumeran en AERegistry.h.
Todos los comandos de eventos del sistema anteriores envían eventos de Apple al loginwindowproceso. loginwindowse envían los mismos eventos de Apple que los anteriores cuando cierra la sesión, reinicia, apaga o pone la Mac en reposo normalmente. Consulte Preguntas y respuestas técnicas QA1134: Programar reinicio, apagado y / o cierre de sesión mediante programación .
Según man shutdown, shutdown -h nowy shutdown -r nowenvía procesa una TERMseñal seguida de una KILLseñal.
De acuerdo con la Guía de programación de servicios y demonios , cuando le indica que cierre loginwindowsesión, los procesos que admiten la finalización repentina reciben una KILLseñal, y los procesos que no admiten la finalización repentina se finalizan de diferentes maneras: las aplicaciones Cocoa reciben el applicationShouldTerminate:método delegado, las aplicaciones en primer plano recibir el kAEQuitApplicationevento de Apple, las aplicaciones en segundo plano reciben el kAEQuitApplicationevento de Apple seguido de una KILLseñal, y los demonios reciben una TERMseñal seguida de una KILLseñal después de unos segundos.