Esegui il flusso di lavoro di Automator o lo script di shell all'avvio / arresto dell'applicazione

0

Come dice il titolo, sto cercando un modo per eseguire un flusso di lavoro di Automator (o uno script di shell) quando lancio un'applicazione specifica. Quando chiudo l'applicazione, voglio eseguire un altro script di workflow / shell. Come ottengo questo?

Qualsiasi aiuto è molto apprezzato!

    
posta Robin Trietsch 14.10.2015 - 19:35
fonte

1 risposta

1

Per continuare a monitorare se un'applicazione è in esecuzione, devi utilizzare un ciclo in background. Non so se c'è un altro metodo, ma funzionerà, anche se mangerà un po 'della tua memoria. Il ciclo continuerà ad aspettare finché non apri l'applicazione, quindi attenderà che tu esca.

Salva il tuo flusso di lavoro come applicazione e impostalo per l'esecuzione all'avvio. Come prima azione esegui un oggetto Applescript come questo:


repeat until application "TextEdit" is running -- change for the app you want
    delay 1 -- it will check every one second for the app
end repeat
delay 3 -- you can change this value if the app will take some time to get ready
if application "TextEdit" is running then 
    -- Your code for starting here
end if

puoi impostare altre azioni dopo questa operazione o usare solo applescript.

Alla fine del flusso di lavoro, posiziona un'altra azione su Applescript:


repeat until application "TextEdit" is not running -- change here too
    delay 1 -- it will check every one second if the app is gone
end repeat
delay 3 -- you can change this value if the app will take some time to vanish
if application "TextEdit" is not running then 
    -- Your code for quitting here
end if

Anche in questo caso puoi impostare altre azioni di seguito.

Fammi sapere se hai obiettivi specifici e possiamo lavorare per migliorare questo flusso di lavoro.

    
risposta data 03.10.2018 - 02:44
fonte

Leggi altre domande sui tag