macOS-代碼調用Terminal執行腳本或者殺死進程窗口

1,調起Terminal

使用NSWorkspace調起應用,path指的是你的腳本路徑,後面參數是Terminal.app路徑


2,命令殺死Terminal

killall Terminal

效果很霸道,直接殺死終端Terminal的所有窗口並關閉應用。但是有缺點:用戶再次打開Terminal會顯示上次操作內容,killall Terminal本身執行跟電源瞬間崩潰的情況類似,屬於不正常關閉。

3,關閉Terminal當前第一個窗口

osascript -e 'tell application "Terminal" to close first window'

該AppleScript執行時會觸發Terminal提示

如果想要不彈出提示框的執行下面AppleScript

osascript -e "tell application \"System Events\" to keystroke \"w\" using command down" 

//模擬的CMD + w 按鍵

直接執行會報錯,

execution error: “System Events”遇到一個錯誤:“osascript”不允許發送按鍵。 (1002)

原因在於這種操作屬於隱私權限,osascript本身不允許發送按鍵操作。除非你在設置中打開權限

如上圖所示,你勾選終端後,再去執行AppleScript就沒有任何提示,直接關閉了窗口

當前Mac版本:macOS Catalina 10.15.6

學習記錄,分享~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章