1 votos

Creación de un script que se ejecutará un programa y si sale sin que se caiga, va a hacerlo de nuevo

Ya he hecho esta pregunta en el UNIx de cambio, pero me dijeron que pregunte aquí también se trata de AppleScripts si el shell estándar no funciona.

Necesito un script que abra una aplicación. Espere a que salga, si la aplicación salido correctamente (I. E: no se bloquee) relanzarla. De lo contrario, mantenga el informe de accidente abrir y salir de la secuencia de comandos. Me gustaría que este script se ejecute hasta que me salga de forma manual.

Hasta ahora, la siguiente ha sido sugerido:

while open -W /path/to/application.app
do
    :
done

Pero esto abre la aplicación y, a continuación, ya sea por accidente o salida se ejecute automáticamente de nuevo. Supongo que esto es debido a que abra independientemente de la espera o no va a terminar con una normal 0 código de salida. A menos, por supuesto, abierto falla, pero en este caso no.

Cualquier ayuda es apreciada.

Gracias.

1voto

hjdm Puntos 18

Para mantener reiniciar el trabajo en la exitosa salida puede utilizar launchd en OSX. Para esto Usted tiene que preparar *.plist archivo con el fin de "contar" launchd cómo comportarse. Para reiniciar la aplicación con éxito la salida por favor miren KeepAlive -> SuccessfulExit clave (más info: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html). Para iniciar su trabajo, Usted necesita para comenzar es a través de la launchctl comando, por ejemplo:

launchctl load path/to/file.plist

Para detenerlo:

launchctl unload path/to/file.plist

Más información acerca de la launchctl/launchd programación aquí:

http://alvinalexander.com/mac-os-x/launchd-examples-launchd-plist-file-examples-mac

http://launchd.info

AppleAyuda.com

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.

Powered by:

X