MySQL 5.1.50 64ビットをインストールし、起動時に実行するようにMyQLを構成するパッケージを実行すると、ターミナルアプリは次のように散発的に空白のウィンドウを表示します。
CNETのMacFixIt列からの指示に従った後、コマンドプロンプトを取り戻すことができました: OS Xターミナルはコマンドプロンプトの代わりに空白のウィンドウを表示します
ただし、ターミナルが断続的に空白になり、このプロセスを再度繰り返す必要があり、それが原因で問題が発生します。 CNETの記事は症状を治しますが、この問題の原因はまだ不明です。この厄介な問題を恒久的に解決するために共有できる理論や経験はありますか?
これの一般的な原因は、ハングした「Sudo」プロセスです。 Sudoを実行し、パスワードの入力を求められたが、ターミナルを閉じると、Sudoはパスワードを待って永久にハングし、パスワードを強制終了するまで他のログインをブロックします。
解決策は、アクティビティモニターで「Sudo」プロセスを強制終了することです。
Mac OS X Lion 10.7では、ターミナルを閉じると終了するようにSudoが修正されたと思います。
または:
fg
を実行します私の場合、どういうわけかgit diff head
が私のシェルの1つでバックグラウンドに配置されていたので、git
とless
は、bashプロセスがあると思ったシェルの下に表示されました。 fg
を実行すると、問題が修正されました。ほとんどのウィンドウ/タブが「ログイン-> bash」である場合は、簡単に見つけることができます。
私にとって、この問題はハングした「ログイン」プロセスに関連していることが実際にわかりました。上記の提案に従って、アクティビティモニターのリストに「Sudo」プロセスは表示されませんでしたが、rootが所有する「ログイン」プロセスが多数あることに気付きました。私はこれらを通り抜けて殺し始めました、そしてそれらの1つが何かを引き起こしました、そしてプロンプトは私のためにiTerm内に戻ってきました。マシンの再起動を回避することができました。
ターミナルでjobs
を実行して、そのシェルにバックグラウンドで子プロセスがあるかどうかを確認してください。バックグラウンドで非常に重い実行が行われている場合は、シェルが応答しなくなっている可能性がありますか?
Gitをインストールした後に発生しましたが(少なくとも、問題に気付いたとき)、まったく同じ問題が発生しました。
アクティビティモニターを開き、すべてのプロセスを表示するように選択しました。 root
が複数(> 10)のlogin
プロセス、少数のsh
プロセス、およびSudo
プロセスを実行していることに気付きました。一部のlogin
プロセスは終了しませんでしたが、私はそれらすべてを強制的に終了しました。おそらくSudo
はそれらをハングさせ続けました。この後、ターミナルは正常に動作し、強制終了できなかった過剰なlogin
プロセスは終了しました。
秘訣は、新しいプロセスをハングアップさせる可能性のあるログインおよびシェル関連のプロセスを探すことだと思います。おそらく、私の場合、Sudo
を殺すだけで十分だったでしょう。
CNetの記事 あなたが言及したのは最後の手段として良いことです。