avviso se l'applicazione non è in esecuzione

1

Al momento sto avendo un po 'di incubo visto che il Mac della segretaria della compagnia non è riuscito a eseguire OneDrive da giugno. Lo uso per sincronizzare un archivio di documenti Sharepoint che è effettivamente il file server aziendale. Il segretario ha lavorato su un numero abbastanza significativo di file (e alcuni piuttosto importanti per quanto riguarda la finanza / fatture, reclutamento, buste paga, ecc.) E non ha notato / menzionato che OneDrive non è stato in esecuzione.

A causa di questo problema, ho ~ 500 file che ho bisogno di identificare e capire come sincronizzare / unire senza scrivere le modifiche di altre persone ...: /

Per il momento ho risolto efficacemente il suo OneDrive: inizia all'avvio e accede e sincronizza come previsto. Sono nervoso, tuttavia, che OneDrive si fermerà di nuovo e torneremo nella stessa barca, e non credo che chiederle di tenerlo d'occhio sia una soluzione a lungo termine o affidabile.

Quello che stavo pensando di fare era scrivere uno script che monitorasse il processo OneDrive e generasse un avviso di qualche tipo se non fosse in esecuzione. Non sono un esperto Mac, quindi sono un po 'in perdita per quanto riguarda il modo migliore per riuscirci.

Credo che AppleScript e un cron job siano la mia migliore opzione. Qualcuno può consigliare se esiste un metodo migliore e qualcuno può aiutarmi a iniziare con AppleScript per rilevare un processo e inviare un avviso di posta elettronica se non viene rilevato?

MODIFICA: il nome del processo è OneDrive

    
posta Patrick 15.08.2018 - 14:50
fonte

1 risposta

3

IMO la soluzione migliore sarebbe utilizzare launchd per assicurarti che OneDrive sia sempre in esecuzione, a prescindere da cosa.

( launchd è un po 'come cron ma molto più potente.)

Salva questo file come ~/Library/LaunchAgents/com.tjluoma.keep-onedrive-alive.plist (dove ~ è la directory home sul computer della segreteria):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.tjluoma.keep-onedrive-alive</string>
    <key>Program</key>
    <string>/Applications/OneDrive.app/Contents/MacOS/OneDrive</string>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Quindi caricalo in launchd usando questo comando:

launchctl load ~/Library/LaunchAgents/com.tjluoma.keep-onedrive-alive.plist

Questo:

a) Avvia OneDrive

b) Riavvia OneDrive se si esce o si blocca. In pratica ogni volta che smette di funzionare, ricomincia automaticamente.

Nota che dovresti controllare l'opzione nelle preferenze di OneDrive per aprire al login, perché launchd sarà incaricato di eseguirlo.

    
risposta data 15.08.2018 - 16:46
fonte

Leggi altre domande sui tag