Feche um aplicativo de forma elegante a partir da linha de comando no Mac OS X
Sair de aplicativos normalmente é feito por meio do menu do aplicativo apropriado, escolhendo “Sair”, mas a GUI do Mac é obviamente inacessível a partir da linha de comando do Mac OS X. Portanto, quando a maioria dos usuários da linha de comando se depara com a necessidade de sair de um aplicativo, eles acabar usando o comando 'kill' para encerrar o processo e encerrar o aplicativo à força, em vez de emitir uma morte 'suave'.O problema óbvio com o encerramento de um aplicativo é que, embora ele saia do aplicativo, você pode perder dados nesse processo e até mesmo os caches de restauração de sessão podem não ser adequados para restaurar os dados. Portanto, sempre que possível, geralmente é melhor que os usuários saiam normalmente de um aplicativo.
Embora não seja muito conhecido, você pode enviar um sinal de encerramento padrão para qualquer aplicativo Mac OS X GUI a partir da linha de comando com a ajuda do comando osascript. É bastante fácil de usar, e é isso que abordaremos aqui.
Como Sair de Aplicativos do Terminal no Mac OS X com osascript
Novamente, isso emitirá um sinal de encerramento padrão para um aplicativo, em vez de um sinal de kill (encerramento). Isso também significa que o aplicativo de destino não será forçado a sair se houver dados não salvos sem solicitar entrada do usuário (a menos que você tenha a configuração de salvamento automático ativada para Mac OS X e o aplicativo não solicite ao usuário como resultado).
A sintaxe básica para enviar um sinal de saída padrão para um aplicativo GUI no Mac OS X a partir do Terminal é a seguinte:
"osascript -e &39;quit app APPLICATIONNAME&39;"
Por exemplo, para sair do Calendário na linha de comando, substitua APPLICATIONNAME por “Calendário”
"osascript -e &39;sair do aplicativo Calendário&39;"
Como o Calendário sincroniza e não tem uma opção para salvar, você não verá a caixa de diálogo padrão para salvar ao tentar fechar o aplicativo. Com aplicativos que têm opções de salvamento e quando o Mac OS X tem o salvamento automático desativado, a caixa de diálogo de salvamento será exibida normalmente.
Outra vantagem de usar o osascript para fechar aplicativos normalmente é que você pode fornecer um nome de aplicativo real, que é muito mais fácil de lembrar e um pouco mais amigável do que confiar inteiramente nos números de ID do processo que acompanham o comando matar.Observe que as versões modernas do Mac OS X oferecem um comando kill aprimorado e mais amigável, conhecido como pkill.
Você pode usar isso em um script bash para fechar aplicativos da linha de comando ou até mesmo modificá-lo para se comportar de maneira semelhante ao truque "Sair de todos os aplicativos abertos" com o Automator que abordamos há algum tempo.