Sluit een toepassing netjes af vanaf de opdrachtregel in Mac OS X
Het netjes afsluiten van apps gebeurt meestal via het juiste applicatiemenu door "Afsluiten" te kiezen, maar de Mac GUI is duidelijk niet toegankelijk vanaf de opdrachtregel van Mac OS X. Dus wanneer de meeste opdrachtregelgebruikers worden geconfronteerd met de noodzaak om een applicatie af te sluiten, eindigen met het 'kill'-commando om het proces te beëindigen en de app geforceerd af te sluiten, in plaats van een 'zachte' kill uit te voeren.Het voor de hand liggende probleem met het beëindigen van een app is dat hoewel het de applicatie verlaat, u mogelijk gegevens verliest tijdens dat proces, en zelfs sessieherstelcaches zijn mogelijk niet voldoende om de gegevens te herstellen. Dus, waar mogelijk, is het meestal het beste voor gebruikers om in plaats daarvan een applicatie netjes af te sluiten.
Hoewel het niet erg bekend is, kun je met behulp van het osascript-commando een standaard stopsignaal naar elke Mac OS X GUI-app sturen vanaf de opdrachtregel. Het is vrij eenvoudig te gebruiken, en dat is wat we hier zullen behandelen.
Apps netjes afsluiten vanaf de terminal in Mac OS X met osascript
Nogmaals, dit zal een standaard stopsignaal geven aan een applicatie, in plaats van een kill (beëindigen) signaal. Dat betekent ook dat de doeltoepassing niet geforceerd wordt afgesloten als er niet-opgeslagen gegevens zijn zonder de gebruiker om invoer te vragen (tenzij u de instelling voor automatisch opslaan hebt ingeschakeld voor Mac OS X en de toepassing de gebruiker daarom niet vraagt).
De basissyntaxis voor het verzenden van een standaard stopsignaal naar een GUI-toepassing in Mac OS X vanaf Terminal is als volgt:
"osascript -e &39;stop app APPLICATIONNAME&39;"
Als u bijvoorbeeld Agenda wilt afsluiten vanaf de opdrachtregel, vervangt u APPLICATIONNAME door "Calendar"
"osascript -e &39;app Agenda afsluiten&39;"
Omdat Agenda wordt gesynchroniseerd en geen opslagoptie heeft, krijg je niet het standaard dialoogvenster voor opslaan te zien wanneer je de app probeert te sluiten. Bij apps die wel opslagopties hebben en wanneer Mac OS X automatisch opslaan heeft uitgeschakeld, wordt het dialoogvenster voor opslaan zoals gebruikelijk weergegeven.
Een ander voordeel van het gebruik van osascript om apps correct af te sluiten, is dat u een daadwerkelijke toepassingsnaam kunt opgeven, die veel gemakkelijker te onthouden is en een stuk gebruiksvriendelijker dan volledig te vertrouwen op proces-ID-nummers die bij het kill-commando.Merk op dat moderne versies van Mac OS X een verbeterde kill-opdracht bieden die gebruiksvriendelijker is, bekend als pkill.
Je zou dit in een bash-script kunnen gebruiken om applicaties vanaf de opdrachtregel af te sluiten, of het zelfs aanpassen om zich op dezelfde manier te gedragen als de "Sluit alle geopende apps" met Automator-truc die we een tijdje geleden hebben besproken.