Creazione di uno script che eseguirà un programma e se esce senza crash, lo eseguirà di nuovo

1

Ho già fatto questa domanda nello scambio UNIx ma mi è stato detto di chiedere qui anche su AppleScript se la shell standard non funziona.

Ho bisogno di uno script che apra un'applicazione. Attendere che esca, se l'applicazione si chiude con grazia (I.E: non si è arrestato in modo anomalo), riavviarla. In caso contrario, mantenere aperto il rapporto di arresto anomalo e uscire dallo script. Mi piacerebbe che questo script venga eseguito fino a quando non lo abbandonerò manualmente.

Finora è stato suggerito quanto segue:

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

Ma questo apre l'applicazione e poi in caso di arresto anomalo o di uscita lo eseguirà automaticamente di nuovo. Presumo che questo sia perché aperto indipendentemente dall'attesa o meno terminerà con un normale codice di uscita 0. A meno che, naturalmente, non si verifichino arresti anomali, ma in questo caso no.

Qualsiasi aiuto con questo è apprezzato.

Grazie.

    
posta Ben Crazed Up Euden 24.07.2014 - 13:27
fonte

1 risposta

1

Per continuare a riavviare il lavoro in caso di esito positivo È possibile utilizzare launchd su OSX. Per questo devi preparare il file * .plist al fine di "dire" launchd come comportarsi. Per riavviare l'applicazione all'uscita riuscita, guarda KeepAlive - > % chiaveSuccessfulExit (ulteriori informazioni: link ). Per iniziare il tuo lavoro, dovrai avviarlo tramite il comando launchctl , ad esempio:

launchctl load path/to/file.plist

Per fermarlo:

launchctl unload path/to/file.plist

Ulteriori informazioni sulla programmazione launchctl / launchd qui:

link

link

    
risposta data 24.07.2014 - 14:11
fonte

Leggi altre domande sui tag