Tengo un script de shell que ejecuta una aplicación AppleScript. Ese script de shell reinicia la máquina en algún momento con shutdown -r now
.
¿Cómo puedo evitar que la aplicación AppleScript se inicie automáticamente de nuevo después del reinicio?
La secuencia es esta:
Haga que su AppleScript escriba un archivo vacío en una ubicación predefinida y pruebe su existencia cuando se inicie el script. Si el archivo ya está allí, elimínelo y salga del script; de lo contrario, proceda con normalidad y reinicie.
Puede intentar redirigir el comando de shell con
do shell script "insert_your_command &>/dev/null &"
y luego decirle a su aplicación que salga
EDITAR
También puede agregar un retraso antes de redirigir el comando.
do shell script "(sleep 5 ; insert_your_command) &>/dev/null &"
Supongo que OS X está restaurando el estado de la aplicación Apple Script después de que se reinicia. Posiblemente podría intentar que Apple Script elimine su propio estado de aplicación justo antes del comando de reinicio, aunque no he verificado que esto funcione o sea posible. Debe estar ubicado en ~/Library/Saved Application State/.
Ok lo encontre
El script de shell necesitaba tener las siguientes líneas:
osascript -e 'tell app "System Events" to restart'
killall "Terminal"
Los comandos de shell anteriores inician el reinicio a través de un comando de Apple Script ad hoc, pero cierran la Terminal inmediatamente después. Esto tiene el efecto de salir de la aplicación Apple Script justo antes de que lo haga el proceso de reinicio de OS X. Por lo tanto, OS X no incluye la aplicación Apple Script en la lista de aplicaciones abiertas que deben volver a abrirse después del reinicio.
Dos efectos secundarios de usar este método:
shutdown -r now
comando Shell que fuerza un reinicio inmediato.
Papelera voladora
WGroleau