Beenden Sie Terminal.app mit dem Apple Script Editor

1304
kyo

Ich versuche zu zwingen, meine Terminal.app mit Apple Script Editor beenden

tell application "Terminal" quit end tell  tell application "System Events" key code 53 end tell 

Es scheint nicht zu funktionieren. Wie würde man gehen und das tun?

0

2 Antworten auf die Frage

0
kyo

Anscheinend habe ich die Antwort auf meine eigene Frage gefunden

tell application "Terminal" quit tell application "System Events" keystroke return end tell end tell 
0
CJK

Das Senden eines quitBefehls und eines Befehls keystrokeentspricht nicht einem erzwungenen Beenden. Ich quitgehe davon aus, dass die Lösung, für die Sie sich entschieden haben, einfach funktioniert hat, einfach weil ein Dialogfeld angezeigt wurde, in dem Sie gefragt wurden, ob Sie Terminal erzwingen möchten . Das Schlagen - Enterentweder physisch oder programmgesteuert - würde dann die Option zum Beenden der Option auswählen.

Das Problem mit dem programmgesteuerten Senden eines Tastendrucks besteht darin, dass bei einem unerwarteten Fokuswechsel in einem anderen Fenster Ihres Systems dieser Tastendruck an das falsche Fenster gesendet wird.

Eine gute Methode, eine App mit AppleScript zwangsweise zu beenden, besteht darin, ihre PID zu erhalten und dann einen killBefehl über ein Shell-Skript auszugeben . Es ist eigentlich nur eine einzige Codezeile. So würde es aussehen, wenn Sie sich mit Ihrer Situation befassen (zwecks Lesbarkeit aus zwei Zeilen formatiert):

 tell application "System Events" to ¬ do shell script "kill -9 " & unix id of process "Terminal"