Cerrar correctamente una aplicación desde la línea de comandos en Mac OS X
Normalmente, salir de las aplicaciones correctamente se hace a través del menú de la aplicación correspondiente seleccionando "Salir", pero obviamente no se puede acceder a la GUI de Mac desde la línea de comandos de Mac OS X. Por lo tanto, cuando la mayoría de los usuarios de la línea de comandos se enfrentan a la necesidad de salir de una aplicación, termine usando el comando 'matar' para terminar el proceso y cerrar la aplicación a la fuerza, en lugar de emitir una 'muerte suave'.El problema obvio con la finalización de una aplicación es que, si bien sale de la aplicación, puede perder datos en ese proceso, e incluso los cachés de restauración de sesión pueden no ser adecuados para restaurar los datos. Por lo tanto, siempre que sea posible, por lo general es mejor que los usuarios cierren correctamente una aplicación.
Aunque no es muy conocido, puede enviar una señal de salida estándar a cualquier aplicación GUI de Mac OS X desde la línea de comandos con la ayuda del comando osascript. Es bastante fácil de usar, y eso es lo que cubriremos aquí.
Cómo salir correctamente de aplicaciones desde la terminal en Mac OS X con osascript
De nuevo, esto emitirá una señal de salida estándar para una aplicación, en lugar de una señal de eliminación (finalización). Eso también significa que la aplicación de destino no se cerrará a la fuerza si hay datos no guardados sin pedirle al usuario que los ingrese (a menos que tenga habilitada la configuración de guardado automático para Mac OS X y la aplicación no le pregunte al usuario como resultado).
La sintaxis básica para enviar una señal de salida estándar a una aplicación GUI en Mac OS X desde Terminal es la siguiente:
"osascript -e &39;salir de la aplicación NOMBRE DE LA APLICACIÓN&39;"
Por ejemplo, para salir de Calendar desde la línea de comando, reemplace NOMBRE DE LA APLICACIÓN con “Calendar”
"osascript -e &39;salir del Calendario de la aplicación&39;"
Debido a que Calendar se sincroniza y no tiene una opción para guardar, no verá el cuadro de diálogo estándar para guardar cuando intente cerrar la aplicación. Con las aplicaciones que tienen opciones de guardado y cuando Mac OS X tiene el guardado automático deshabilitado, el cuadro de diálogo Guardar aparecerá como de costumbre.
Otra ventaja de usar osascript para cerrar aplicaciones correctamente es que puede proporcionar un nombre de aplicación real, que es mucho más fácil de recordar y un poco más fácil de usar que confiar completamente en los números de ID de proceso que van con el comando de matar.Tenga en cuenta que las versiones modernas de Mac OS X ofrecen un comando de eliminación mejorado que es más fácil de usar, conocido como pkill.
Puede usar esto en un script bash para cerrar aplicaciones desde la línea de comando, o incluso modificarlo para que se comporte de manera similar al truco "Salir de todas las aplicaciones abiertas" con Automator que cubrimos hace un tiempo.