首页 > 解决方案 > Mac - 强制关闭终端而不重新打开它们

问题描述

此命令关闭所有终端窗口

ps aux | grep -i terminal | awk {'print $2'} | xargs kill -9

之后,当我单击终端图标时,所有终端窗口都会重新打开。

我这样做的原因是在我离开办公室时关闭所有终端,然后在早上打开终端应用程序时有一个新的终端(无需重新启动)。

有没有办法以编程方式强制关闭所有终端并在我激活终端应用程序时不重新打开它们。

标签: bashmacosterminal

解决方案


状态信息保存在其中,~/Library/Saved Application State/com.apple.Terminal.savedState/因此您可以在关闭终端后删除该目录。

如评论中所述,pkillpgrep实用程序用于按名称查找进程。应该不需要,-9但无论如何我已经包含它以匹配您的原始代码。我们使用该-a参数来确保pkill考虑进程的祖先,并且我将其限制为由当前用户控制的进程,以防您共享您的机器。

#!/bin/bash
pkill -9 -a -U "$UID" Terminal
rm -rf ~/Library/Saved\ Application\ State/com.apple.Terminal.savedState/

推荐阅读