Fermez correctement une application à partir de la ligne de commande sous Mac OS X
Quitter les applications avec élégance se fait généralement via le menu de l'application appropriée en choisissant "Quitter", mais l'interface graphique Mac est évidemment inaccessible depuis la ligne de commande de Mac OS X. Ainsi, lorsque la plupart des utilisateurs de la ligne de commande sont confrontés à la nécessité de quitter une application, ils terminez en utilisant la commande 'kill' pour terminer le processus et quitter l'application de force, plutôt que d'émettre un kill 'soft'.Le problème évident avec la fermeture d'une application est que même si elle quitte l'application, vous risquez de perdre des données au cours de ce processus, et même les caches de restauration de session peuvent ne pas être suffisants pour restaurer les données. Ainsi, dans la mesure du possible, il est généralement préférable que les utilisateurs quittent gracieusement une application à la place.
Bien que cela ne soit pas particulièrement connu, vous pouvez envoyer un signal de fermeture standard à n'importe quelle application graphique Mac OS X à partir de la ligne de commande à l'aide de la commande osascript. C'est assez facile à utiliser, et c'est ce que nous allons couvrir ici.
Comment quitter gracieusement les applications du terminal sous Mac OS X avec osascript
Encore une fois, cela enverra un signal de fermeture standard à une application, plutôt qu'un signal de mise à mort (terminer). Cela signifie également que l'application cible ne se fermera pas de force s'il y a des données non enregistrées sans inviter l'utilisateur à entrer (sauf si vous avez activé le paramètre d'enregistrement automatique pour Mac OS X et que l'application n'invite pas l'utilisateur en conséquence).
La syntaxe de base pour envoyer un signal de fermeture standard à une application graphique sous Mac OS X à partir de Terminal est la suivante :
"osascript -e &39;quit app APPLICATIONNAME&39;"
Par exemple, pour quitter Calendar à partir de la ligne de commande, remplacez APPLICATIONNAME par "Calendar"
"osascript -e &39;quit app Calendar&39;"
Étant donné que Google Agenda se synchronise et n'a pas d'option d'enregistrement, la boîte de dialogue d'enregistrement standard ne s'affiche pas lorsque vous essayez de fermer l'application. Avec les applications qui ont des options d'enregistrement et lorsque Mac OS X a désactivé l'enregistrement automatique, la boîte de dialogue d'enregistrement sera invoquée comme d'habitude.
Un autre avantage de l'utilisation d'osascript pour fermer les applications avec élégance est que vous pouvez fournir un nom d'application réel, ce qui est beaucoup plus facile à retenir et un peu plus convivial que de compter entièrement sur les numéros d'identification de processus qui vont avec la commande tuer.Notez que les versions modernes de Mac OS X offrent une commande kill améliorée et plus conviviale, connue sous le nom de pkill.
Vous pouvez l'utiliser dans un script bash pour fermer des applications à partir de la ligne de commande, ou même le modifier pour qu'il se comporte de la même manière que l'astuce "Quitter toutes les applications ouvertes" avec Automator que nous avons abordée il y a quelque temps.