bash - Mac - 强制关闭终端而不重新打开它们
问题描述
此命令关闭所有终端窗口
ps aux | grep -i terminal | awk {'print $2'} | xargs kill -9
之后,当我单击终端图标时,所有终端窗口都会重新打开。
我这样做的原因是在我离开办公室时关闭所有终端,然后在早上打开终端应用程序时有一个新的终端(无需重新启动)。
有没有办法以编程方式强制关闭所有终端并在我激活终端应用程序时不重新打开它们。
解决方案
状态信息保存在其中,~/Library/Saved Application State/com.apple.Terminal.savedState/
因此您可以在关闭终端后删除该目录。
如评论中所述,pkill
和pgrep
实用程序用于按名称查找进程。应该不需要,-9
但无论如何我已经包含它以匹配您的原始代码。我们使用该-a
参数来确保pkill
考虑进程的祖先,并且我将其限制为由当前用户控制的进程,以防您共享您的机器。
#!/bin/bash
pkill -9 -a -U "$UID" Terminal
rm -rf ~/Library/Saved\ Application\ State/com.apple.Terminal.savedState/
推荐阅读
- r - 有人可以解释一下这段代码吗?特别是“函数x和[[x]]”的作用?
- python - 在忽略几行的同时在 DataFrame 上使用 .loc
- swift - 如何在 VStack Swift UI 中居中按钮
- javascript - 如何阻止 Chrome 显示对话框以打印屏幕
- npm - 当我尝试安装 P5.JS 管理器包时出现 npm 问题,EACCES:权限被拒绝
- asynchronous - 单线程程序的进程
- html - 我正在尝试在卡片中对齐两个 div(一个在左侧,另一个在右侧)
- powershell - 从没有中间变量的函数调用中访问字段
- ffmpeg - FFMPEG 裁剪黑条质量差
- reactjs - 反应选择 mapPropsToValues