Eclipseを介して実行すると、Eclipse自体がハングする単一のアプリケーションがあります。このアプリケーションをjarとしてエクスポートして実行すると、正常に動作します。しかし、実行(またはデバッグ)すると、アプリケーションは(psに従って)起動して実行されているように見えます。ただし、Eclipse自体はハングし、CPUまたはメモリを使用しない「停止した」プログラムとして報告されます。このアプリケーションの最初の行にブレークポイントを設定しましたが、日食が停止するまでそこに到達しません。日食を停止状態から強制的にウェイクアップすると、機能します。ただし、開始したプログラムとの接続も失われます。デバッグしたいプログラムは実行を継続しますが、停止したeclipseを再開した後、eclipseはそれを制御または強制終了できません。
Eclipseの問題なしに、他の多くのアプリケーションを実行できます。奇妙なことに、以前にこの問題が発生していましたが、アプリケーションを1日実行できたので、元の問題に戻りました。重要なものの間で何が変わったのかわかりません。
誰かがこれを引き起こす可能性のあるものやそれを修復する方法を提案できますか?
アップデート:
もう少しLinuxの魔法をかけました。コマンドを待っている間、日食が停止しているようです:sh -c stty -lcanon min 1
また、その前に、sh(defunct)コマンドがありましたが、これも数分間刈り取られることなくハングし、日食が適切に実行されないようにしていたと思います。私が十分長く待つと、sh(defunct)はついに消えます。しかし、リンクしたばかりのshコマンドが表示されます。元の無効なSHコマンドが何であったかはわかりません。それが機能しなくなる前にそれを捕まえるのに十分な速さでpsを行うことはできません。どちらの問題も日食でのみ発生します。jarファイルとして、このプログラムは完全に正常に実行されます。
私の実行中の仮定は、日食がシグチャイルドを正しく取得または処理していないということですか?それは少なくともsh(defunct)アプリケーションを説明するでしょう。無効として表示されない現在のSHコマンドについては説明していません。それは数秒で実行されるべきものであるにもかかわらず?
アップデート2.0:
私はこのリンクを見つけました:http://linux.about.com/od/srl_howto/a/hwtsrl13t04_3.htm 基本的にsttyは</ dev/tty構文を使用するとハングすることが知られています。そのため、構文は非推奨になり、新しい構文に置き換えられました。これが問題だと確信しています。残念ながら、非推奨のコマンドを使用しているライブラリを特定する方法がありません。これはすべて、ConsoleReaderの構築から始まったと思います。しかし、フリーズするコマンドを実際に実行したコードを誰が知っていますか?また、これが壊れた場合、Linux環境でeclipseからconsoleReaderを実行している人は同じ問題を抱えているようです。そうではないと私が考えるのは安全だと思います。そうでなければ、ネット全体で文書化されるでしょう。だから多分私の理解はまだずれていますか?