Come riavviare un processo senza interazione dell'utente

0

Ho ucciso un processo (un semplice .jar in esecuzione in background come agente globale) di pkill -9 java . Poiché l'agente globale in launchd è configurato come keepAlive , il processo viene riavviato immediatamente.

Purtroppo questo brutto popup ("L'azione esegui Shell Script ha riscontrato un errore") si presenta e impedisce il riavvio del processo senza l'interazione dell'utente.

È possibile che launchd riavvii semplicemente il processo senza attendere che l'utente prema OK in questo popup? Dopo aver premuto OK, il processo viene riavviato correttamente.

EDIT: Lo script è il seguente

    
posta Mahatma_Fatal_Error 02.02.2015 - 11:47
fonte

1 risposta

1

Se si termina il processo java con kill -9 , la shell richiamata riceve un codice di errore. Nel tuo caso, l'esecuzione di java è l'unico comando nello script eseguito da Automator, quindi il codice di errore viene interpretato da Automator come un errore generale che attiva il popup.

Se si aggiunge qualsiasi altro comando dopo la chiamata java (beh, qualsiasi cosa che termina con successo), l'azione Esegui script shell verrà completata correttamente e Automator non si accorgerà nemmeno che il processo java è stato terminato. Questo comando può essere qualcosa di semplice come : (che in questo modo fondamentalmente non fa nulla) o sleep 0 (che di solito esce correttamente).

    
risposta data 02.02.2015 - 14:06
fonte

Leggi altre domande sui tag