Lukk grasiøst et program fra kommandolinjen i Mac OS X
Å avslutte apper på en elegant måte gjøres vanligvis gjennom den aktuelle programmenyen ved å velge "Avslutt", men Mac GUI er åpenbart utilgjengelig fra kommandolinjen i Mac OS X. Så når de fleste kommandolinjebrukere blir konfrontert med behovet for å avslutte et program, vil de avslutt ved å bruke 'kill'-kommandoen for å avslutte prosessen og tvangsavslutte appen, i stedet for å utstede en 'myk' kill.Det åpenbare problemet med å avslutte en app er at mens den avslutter applikasjonen, kan du miste data i den prosessen, og til og med sesjonsgjenopprettingsbuffer er kanskje ikke tilstrekkelig til å gjenopprette dataene. Derfor, når det er mulig, er det vanligvis best for brukere å avslutte en app på en elegant måte i stedet.
Selv om det ikke er spesielt kjent, kan du sende et standard avslutningssignal til en hvilken som helst Mac OS X GUI-app fra kommandolinjen ved hjelp av osascript-kommandoen. Det er ganske enkelt å bruke, og det er det vi skal dekke her.
Hvordan avslutter du apper på en elegant måte fra terminalen i Mac OS X med osascript
Igjen, dette vil gi et standard avslutningssignal til en applikasjon, i stedet for et avslutningssignal. Det betyr også at målapplikasjonen ikke vil tvangsavslutte hvis det er ulagrede data uten å be brukeren om inndata (med mindre du har aktivert automatisk lagringsinnstilling for Mac OS X og applikasjonen ikke ber brukeren som et resultat).
Den grunnleggende syntaksen for å sende et standard avslutningssignal til en GUI-applikasjon i Mac OS X fra Terminal er som følger:
"osascript -e &39;quit app APPLICATIONNAME&39;"
For å avslutte Kalender fra kommandolinjen, erstatter du APPLICATIONNAME med "Calendar"
"osascript -e &39;quit app Calendar&39;"
Fordi Kalender synkroniserer og ikke har et lagrings alternativ, vil du ikke bli presentert med standard lagringsdialogboks når du prøver å lukke appen. Med apper som har lagrings alternativer og når Mac OS X er deaktivert automatisk lagring, vil lagringsdialogboksen bli k alt opp som vanlig.
En annen fordel med å bruke osascript for å lukke apper på en elegant måte, er at du kan gi et faktisk applikasjonsnavn, som er mye enklere å huske og ganske mye mer brukervennlig enn å stole helt på prosess-ID-numre som følger med drepekommandoen.Merk at moderne versjoner av Mac OS X tilbyr en forbedret kill-kommando som er mer brukervennlig, kjent som pkill.
Du kan bruke dette i et bash-skript for å lukke applikasjoner fra kommandolinjen, eller til og med endre det slik at det oppfører seg på samme måte som "Avslutt alle åpne apper" med Automator-trikset vi dekket for en stund tilbake.