此命令关闭所有终端窗口
ps aux | grep -i terminal | awk {'print $2'} | xargs kill -9
然后,当我单击终端图标时,所有终端窗口都重新打开。
之所以这样做,是因为我离开办公室时关闭所有终端,然后在早上打开终端应用程序时有一个新的终端(无需重新启动)。
有没有一种方法可以通过编程方式强制关闭所有终端,并在我激活终端应用程序时不重新打开它们。
答案 0 :(得分:2)
状态信息保存在~/Library/Saved Application State/com.apple.Terminal.savedState/
中,因此您可以在关闭Terminal后删除该目录。
如评论中所述,pkill
和pgrep
实用程序用于按名称查找进程。不需要-9
,但无论如何我都将其包括在内以匹配您的原始代码。我们使用-a
参数来确保考虑到pkill
进程的祖先,并且如果您共享计算机,我将其限制为当前用户控制的进程。
#!/bin/bash
pkill -9 -a -U "$UID" Terminal
rm -rf ~/Library/Saved\ Application\ State/com.apple.Terminal.savedState/