Грациозно затваряне на приложение от командния ред в Mac OS X
Грациозното излизане от приложения обикновено се извършва чрез съответното меню на приложението, като се избере „Quit“, но GUI на Mac очевидно е недостъпен от командния ред на Mac OS X. Така че, когато повечето потребители на командния ред се сблъскват с необходимостта да излязат от приложение, те завършите с помощта на командата 'kill', за да прекратите процеса и принудително да затворите приложението, вместо да издавате 'soft' kill.Очевидният проблем с прекратяването на приложение е, че докато то излиза от приложението, можете да загубите данни в този процес и дори кешовете за възстановяване на сесии може да не са достатъчни за възстановяване на данните. По този начин, когато е възможно, обикновено е най-добре потребителите да напуснат елегантно приложение вместо това.
Въпреки че не е особено известно, можете да изпратите стандартен сигнал за излизане към всяко GUI приложение на Mac OS X от командния ред с помощта на командата osascript. Той е доста лесен за използване и това е, което ще разгледаме тук.
Как елегантно да затворите приложения от терминала в Mac OS X с osascript
Отново, това ще издаде стандартен сигнал за излизане към приложение, а не сигнал за спиране (прекратяване). Това също означава, че целевото приложение няма да излезе принудително, ако има незапазени данни, без да подкани потребителя за въвеждане (освен ако нямате активирана настройка за автоматично запазване за Mac OS X и приложението не подкани потребителя като резултат).
Основният синтаксис за изпращане на стандартен сигнал за излизане към GUI приложение в Mac OS X от терминал е както следва:
"osascript -e &39;излизане от приложението APPLICATIONNAME&39;"
Например, за да излезете от Календар от командния ред, заменете APPLICATIONNAME с „Календар“
"osascript -e &39;излизане от приложението Календар&39;"
Тъй като календарът се синхронизира и няма опция за запазване, няма да ви бъде представен стандартен диалогов прозорец за запазване, когато се опитвате да затворите приложението. С приложения, които имат опции за запазване и когато Mac OS X има деактивирано автоматично запазване, диалоговият прозорец за запазване ще бъде извикан както обикновено.
Друго предимство на използването на osascript за елегантно затваряне на приложения е, че можете да предоставите действително име на приложение, което е много по-лесно за запомняне и доста по-удобно за потребителя, отколкото да разчитате изцяло на идентификационни номера на процеси, които вървят с командата kill.Обърнете внимание, че съвременните версии на Mac OS X предлагат подобрена команда за унищожаване, която е по-удобна за потребителя, известна като pkill.
Можете да използвате това в bash скрипт, за да затворите приложения от командния ред или дори да го промените, за да се държи подобно на трика „Изход от всички отворени приложения“ с Automator, който разгледахме преди време.