Chiudi con garbo un'applicazione dalla riga di comando in Mac OS X

Chiudere le app con garbo avviene tipicamente attraverso l'apposito menu dell'applicazione scegliendo "Esci", ma la GUI Mac è ovviamente inaccessibile dalla riga di comando di Mac OS X. Quindi quando la maggior parte degli utenti della linea di comando si trova di fronte alla necessità di uscire da un'applicazione, terminare usando il comando "kill" per terminare il processo e uscire forzatamente dall'app, piuttosto che emettere un'uccisione "soft". L'ovvio problema con la chiusura di un'app è che mentre esce dall'applicazione, potresti perdere i dati in quel processo e persino le cache di ripristino della sessione potrebbero non essere adeguate per ripristinare i dati. Pertanto, laddove possibile, di solito è preferibile che gli utenti abbandonino con garbo un'applicazione.


Sebbene non sia particolarmente noto, puoi inviare un segnale di uscita standard a qualsiasi app della GUI di Mac OS X dalla riga di comando con l'assistenza del comando osascript. È abbastanza facile da usare, ed è quello che tratteremo qui.

Come chiudere con grazia le app dal terminale in Mac OS X con osascript

Di nuovo, questo emetterà un segnale di uscita standard per un'applicazione, piuttosto che un segnale di kill (terminazione). Ciò significa anche che l'applicazione di destinazione non uscirà forzatamente se ci sono dati non salvati senza chiedere all'utente l'input (a meno che non sia abilitata l'impostazione di salvataggio automatico per Mac OS X e l'applicazione non richieda l'utente come risultato).

La sintassi di base per inviare un segnale di uscita standard a un'applicazione GUI in Mac OS X da Terminal è la seguente:

osascript -e 'quit app "APPLICATIONNAME"'

Ad esempio, per uscire da Calendar dalla riga di comando, sostituire APPLICATIONNAME con "Calendar"

osascript -e 'quit app "Calendar"'

Poiché Calendar si sincronizza e non ha un'opzione di salvataggio, non ti verrà presentata la finestra di dialogo di salvataggio standard quando tenti di chiudere l'app. Con app che hanno opzioni di salvataggio e quando Mac OS X ha il salvataggio automatico disabilitato, la finestra di dialogo di salvataggio verrà richiamata come al solito.

Un altro vantaggio dell'utilizzo di osascript per chiudere le applicazioni con garbo è che è possibile fornire un nome effettivo dell'applicazione, che è molto più facile da ricordare e un po 'più user friendly che fare affidamento esclusivamente sui numeri ID di processo associati al comando kill. Nota che le versioni moderne di Mac OS X offrono un comando kill migliorato più user-friendly, noto come pkill.

Si può usare questo in uno script bash per chiudere le applicazioni dalla riga di comando, o anche modificarlo per comportarsi in modo simile a "Chiudi tutte le app aperte" con il trucco di Automator che abbiamo trattato qualche istante prima.