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

0

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

Lamentablemente, este desagradable mensaje emergente ("La acción Ejecutar el script de shell encontró un error") aparece e impide el reinicio del proceso sin la interacción del usuario.

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

EDITAR: El guión es el siguiente

    
pregunta Mahatma_Fatal_Error 02.02.2015 - 11:47

1 respuesta

1

Si finaliza el proceso java con kill -9 , el shell que llamó obtiene un código de error. En su caso, la ejecución de java es el único comando en el script ejecutado por Automator, por lo que Automator interpreta el código de error como un error general que activa la ventana emergente.

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

    
respondido por el nohillside 02.02.2015 - 14:06

Lea otras preguntas en las etiquetas