Applikationen per Script beenden

Bei der Installation von Updates, beziehungsweise bei dem ein oder anderem Script, ist es hin und wieder notwendig eine laufende Applikation zu beenden. Da der Befehl „kill“ recht
rigoros ist und das Programm einfach nur abwürgt, ist eine sanftere Methode in solchen Fällen häufig besser geeignet.

Zum Beispiel bei Word:

/usr/bin/osascript -e 'tell application
"Microsoft Word" to quit' 

Der Vorteil am obigen Befehl ist, dass vor dem Beenden des Programms der Benutzer gefragt wird ob bestehende Arbeiten gespeichert werden sollen.

Falls das Programm nicht gestartet sein sollte würde der obige Befehl die Applikation erstmal starten um sie dann wieder zu beenden: ein ‚tell application‘ kann nur mit laufenden Applikationen „kommunizieren“. Deshalb macht es Sinn erst einmal abzufragen ob das entsprechende Programm überhaupt läuft. Das kann man folgendermaßen machen:

retVal=`/usr/bin/osascript -e 'tell app
"System Events" to count processes whose name is "Microsoft Word"'`
if [ $retVal != 0 ]; then echo Closing Microsoft Word
/usr/bin/osascript -e 'tell application "Microsoft Word" to quit'
fi