Stäng graciöst ett program från kommandoraden i Mac OS X

Anonim

Att avsluta appar på ett elegant sätt görs vanligtvis via lämplig programmeny genom att välja "Avsluta", men Mac GUI är uppenbarligen otillgängligt från kommandoraden i Mac OS X. Så när de flesta kommandoradsanvändare konfronteras med behovet av att avsluta ett program, de avsluta med "kill"-kommandot för att avsluta processen och tvångsavsluta appen, snarare än att utfärda en "mjuk" kill.Det uppenbara problemet med att avsluta en app är att medan den avslutar applikationen kan du förlora data i den processen, och till och med sessionsåterställningscache kanske inte är tillräckliga för att återställa data. Så när det är möjligt är det vanligtvis bäst för användare att avsluta ett program istället.

Även om det inte är särskilt välkänt kan du skicka en standardavslutningssignal till vilken Mac OS X GUI-app som helst från kommandoraden med hjälp av kommandot osascript. Det är ganska lätt att använda, och det är vad vi kommer att ta upp här.

Hur man graciöst avslutar appar från terminalen i Mac OS X med osascript

Återigen kommer detta att avge en standardavslutssignal till ett program, snarare än en avsluta (avsluta) signal. Det betyder också att målapplikationen inte kommer att tvångsavslutas om det finns osparade data utan att användaren uppmanas att skriva in (såvida du inte har aktiverat inställningen för autospara för Mac OS X och applikationen inte frågar användaren som ett resultat).

Den grundläggande syntaxen för att skicka en standardavslutningssignal till ett GUI-program i Mac OS X från Terminal är följande:

"

osascript -e &39;quit app APPLICATIONNAME&39;"

Om du till exempel vill avsluta Kalender från kommandoraden, ersätter du APPLICATIONNAME med "Calendar"

"

osascript -e &39;quit app Calendar&39;"

Eftersom Kalender synkroniserar och inte har ett spar alternativ, kommer du inte att visas med standarddialogrutan för att spara när du försöker stänga appen. Med appar som har alternativ för att spara och när Mac OS X har inaktiverat automatiskt spara, kommer spardialogrutan att kallas som vanligt.

En annan fördel med att använda osascript för att stänga appar på ett elegant sätt är att du kan tillhandahålla ett verkligt applikationsnamn, vilket är mycket lättare att komma ihåg och ganska lite mer användarvänligt än att helt förlita sig på process-ID-nummer som följer med kommandot döda.Observera att moderna versioner av Mac OS X erbjuder ett förbättrat kill-kommando som är mer användarvänligt, känt som pkill.

Du kan använda detta i ett bash-skript för att stänga program från kommandoraden, eller till och med modifiera det så att det beter sig på samma sätt som "Avsluta alla öppna appar" med Automator-tricket som vi behandlade för ett tag sedan.

Stäng graciöst ett program från kommandoraden i Mac OS X