web-dev-qa-db-ja.com

MySQLのインストール後にOSXターミナルにコマンドプロンプトではなく空白のウィンドウが表示されるのはなぜですか?

MySQL 5.1.50 64ビットをインストールし、起動時に実行するようにMyQLを構成するパッケージを実行すると、ターミナルアプリは次のように散発的に空白のウィンドウを表示します。

alt text

CNETのMacFixIt列からの指示に従った後、コマンドプロンプトを取り戻すことができました: OS Xターミナルはコマンドプロンプトの代わりに空白のウィンドウを表示します

ただし、ターミナルが断続的に空白になり、このプロセスを再度繰り返す必要があり、それが原因で問題が発生します。 CNETの記事は症状を治しますが、この問題の原因はまだ不明です。この厄介な問題を恒久的に解決するために共有できる理論や経験はありますか?

1
GeneQ

これの一般的な原因は、ハングした「Sudo」プロセスです。 Sudoを実行し、パスワードの入力を求められたが、ターミナルを閉じると、Sudoはパスワードを待って永久にハングし、パスワードを強制終了するまで他のログインをブロックします。

解決策は、アクティビティモニターで「Sudo」プロセスを強制終了することです。

Mac OS X Lion 10.7では、ターミナルを閉じると終了するようにSudoが修正されたと思います。

4
Chris Page
  1. アクティビティモニターを起動する
  2. 「すべてのプロセス、階層的」を選択します
  3. ターミナルプロセスを探す
  4. 「スタック」してログインを妨害している可能性のあるプロセスを見つけてください

または:

  1. アクティブな各シェルウィンドウでfgを実行します

私の場合、どういうわけかgit diff headが私のシェルの1つでバックグラウンドに配置されていたので、gitlessは、bashプロセスがあると思ったシェルの下に表示されました。 fgを実行すると、問題が修正されました。ほとんどのウィンドウ/タブが「ログイン-> bash」である場合は、簡単に見つけることができます。

0
Zac Thompson

私にとって、この問題はハングした「ログイン」プロセスに関連していることが実際にわかりました。上記の提案に従って、アクティビティモニターのリストに「Sudo」プロセスは表示されませんでしたが、rootが所有する「ログイン」プロセスが多数あることに気付きました。私はこれらを通り抜けて殺し始めました、そしてそれらの1つが何かを引き起こしました、そしてプロンプトは私のためにiTerm内に戻ってきました。マシンの再起動を回避することができました。

0

ターミナルでjobsを実行して、そのシェルにバックグラウンドで子プロセスがあるかどうかを確認してください。バックグラウンドで非常に重い実行が行われている場合は、シェルが応答しなくなっている可能性がありますか?

0
dtlussier

Gitをインストールした後に発生しましたが(少なくとも、問題に気付いたとき)、まったく同じ問題が発生しました。

アクティビティモニターを開き、すべてのプロセスを表示するように選択しました。 rootが複数(> 10)のloginプロセス、少数のshプロセス、およびSudoプロセスを実行していることに気付きました。一部のloginプロセスは終了しませんでしたが、私はそれらすべてを強制的に終了しました。おそらくSudoはそれらをハングさせ続けました。この後、ターミナルは正常に動作し、強制終了できなかった過剰なloginプロセスは終了しました。

秘訣は、新しいプロセスをハングアップさせる可能性のあるログインおよびシェル関連のプロセスを探すことだと思います。おそらく、私の場合、Sudoを殺すだけで十分だったでしょう。

CNetの記事 あなたが言及したのは最後の手段として良いことです。

0
Jari Keinänen