0 votos

Cómo reiniciar un proceso sin la interacción del usuario

He matado un proceso (un simple .jar que se ejecuta en segundo plano como agente global) por pkill -9 java . Como el agente global en launchd está configurado como keepAlive el proceso se reinicia inmediatamente.

Desafortunadamente, esta desagradable ventana emergente ("La acción Ejecutar Shell script encontró un error") aparece e impide el reinicio del proceso sin la interacción del usuario. enter image description here

¿Es posible que launchd simplemente reinicie el proceso sin esperar a que el usuario pulse OK en esta ventana emergente? Después de pulsar OK el proceso se reinicia correctamente.

EDITAR: El script es el siguiente enter image description here

1voto

Si terminas el proceso java con kill -9 La shell que ha llamado recibe un código de error. En tu caso, la ejecución de java es el único comando en el script ejecutado por Automator, por lo que el código de error es interpretado por Automator como un error general que desencadena la ventana emergente.

Si añade cualquier otro comando después de la llamada a java (bueno, cualquiera que termine con éxito), la acción Ejecutar Shell script se completará con éxito y Automator ni siquiera se dará cuenta de que el proceso de java se terminó. Este comando puede ser algo simple como : (que en esta forma básicamente no hace nada) o sleep 0 (que suele salir con éxito).

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