为什么安装 MySQL 后,我的 OS X 终端显示一个空白窗口而不是命令提示符?

为什么安装 MySQL 后,我的 OS X 终端显示一个空白窗口而不是命令提示符?

安装 MySQL 5.1.50 64 位并运行配置 MyQL 在启动时运行的包后,终端应用程序现在偶尔会显示一个空白窗口,如下所示:

替代文本

我按照 CNET 上 MacFixIt 专栏的说明操作后,成功恢复了命令提示符:OS X 终端显示空白窗口而不是命令提示符

但是,终端会间歇性地变空白,我不得不再次重复这个过程,这让我很抓狂。CNET 文章解决了症状,但这个问题的原因仍然未知。有没有人有任何理论或经验可以分享,以便永久解决这个烦人的问题?

答案1

造成这种情况的一个常见原因是“sudo”进程挂起。如果您运行 sudo 并且它提示您输入密码,但您关闭了终端,sudo 将永远挂起等待密码,这会阻止任何其他登录,直到您将其终止。

解决方案是使用活动监视器终止“sudo”进程。

我相信在 Mac OS X Lion 10.7 上 sudo 已经得到修复,如果你关闭终端,它就会退出。

答案2

尝试jobs在终端上运行,看看该 shell 是否有任何后台子进程。如果后台正在运行一些非常繁重的任务,那么这是否会导致 shell 变得无响应?

答案3

我刚刚遇到了完全相同的问题,尽管它是在安装 Git 之后出现的(或者至少是我注意到这个问题的时候)。

我打开了活动监视器并选择显示所有进程。我注意到root正在运行几个(> 10)login进程、几个sh进程和一个sudo进程。我强制退出了所有进程,但有些login进程没有退出——可能是它们一直挂着。此后,终端正常工作,我无法终止sudo的多余进程也退出了。login

我认为诀窍是查找可能挂起新进程的登录和 shell 相关进程。可能,就我的情况而言,终止sudo就足够了。

CNet 文章您提到的这个方法可以作为最后的手段。

答案4

我实际上发现,对我来说,这个问题与挂起的“登录”进程有关。按照上面的建议,我没有在活动监视器的列表中看到任何“sudo”进程,但我确实注意到很多由 root 拥有的“登录”进程。我检查了一下,开始终止这些进程,其中一个触发了某些操作,提示符在 iTerm 中返回。我能够避免重新启动机器。

相关内容