¿Es posible ejecutar un script/comando justo antes de que OS X se apague o reinicie?
Me gustaría correr sudo apachectl stop
para evitar que apache se inicie automáticamente.
¿Es posible ejecutar un script/comando justo antes de que OS X se apague o reinicie?
Me gustaría correr sudo apachectl stop
para evitar que apache se inicie automáticamente.
Puedes utilizar un gancho de cierre de sesión:
sudo defaults write com.apple.loginwindow LogoutHook ~/.logouthook
echo $'#!/bin/bash\napachectl stop' > ~/.logouthook
chmod +x ~/.logouthook
El valor de la clave LogoutHook sólo puede ser una ruta a un ejecutable y no un comando de shell. El gancho de cierre de sesión se ejecuta con privilegios de superusuario, por lo que no necesita sudo.
El comando defaults modifica /var/Root/Library/Preferences/com.apple.loginwindow.plist. Añadir una clave LogoutHook a /Library/Preferences/com.apple.loginwindow.plist no funciona.
Si un gancho de cierre de sesión tarda mucho en ejecutarse, se muestra una pantalla gris hasta que el gancho de cierre de sesión finaliza. No parece haber ningún límite de tiempo después del cual los ganchos de cierre de sesión se ven obligados a terminar.
Los ganchos de cierre de sesión fueron obviados en 10.4, pero no he encontrado ninguna manera de ejecutar programas al cierre de sesión de forma fiable con launchd. Tampoco he conseguido que rc.local.shutdown funcione. No conozco ninguna forma de ejecutar un hook de cierre de sesión antes de apagar o reiniciar pero no antes de cerrar la sesión.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.