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

学习记录,分享~~

你可能感兴趣的:(macOS-代码调用Terminal执行脚本或者杀死进程窗口)