私は単純なマルチスレッドのプロデューサ/コンシューマフレームワークをJavaで実行して処理しています。フレームワークはいくつかのファイルから読み込み、データを処理し、いくつかの結果をディスクに書き戻します。Linuxの 'screen'はディスクから読み取られません。
私の問題は以下の通りです:ので、すべての処理は次のようにバッチで行われなければならない処理上の(非常に)高いメモリフットプリントの:
1 - ドゥ -
2フレームワークを開始します処理
3 - シャットダウンフレームワーク
これらはすべてシェルスクリプト内にあります。これを行うには、画面を開いて、私が周囲にいなくても処理を続行し、シェルスクリプトを開始します。しかし、私が経験することは、画面(CTRL-A + D)を外すと、フレームワークは突然、フレームワークのJavaバイトコンパイルされたクラスを見つけることができないと不満を持ちます。この問題は、画面を切断しないと完全に消えてしまいます。
これは本当にイライラしていて、なぜ私は理解できません。私はスクリーンを何度か再インストールしました(Debianベースのシステム)、コード/データをそこに移動して処理するときにこの問題が存在しない他のサーバにアクセスできます。残念ながら、これらのサーバーは(技術的に)オフリミットなので、私はそこで完全な処理を行うことができます。
進め方についてのアドバイスはありますか?私は、画面を切断した後
** UPDATE **
は、ここではいくつかの出力です:
/edu/process/TOB.java:3: warning: PNGImageReaderSpi is internal
proprietary API and may be removed in a future release
import com.sun.imageio.plugins.png.PNGImageReaderSpi;
^
/edu/process/LPR.java:125: warning: [unchecked] unchecked conversion
Dist<Double> d = new Dist("");
^
required: Dist<Double>
found: Dist
2 warnings
Error: Could not find or load main class edu.process.DService
警告などはOKですし、私は彼らが処理に干渉しないことを徹底的にチェックしています。それは誤りです。これはすべてを実行するメインクラスであり、画面を切断した後もそれはもはや存在しないと言います。
フレームワークに問題があることをどのように知っていますか?出力はありますか? –
このような問題について聞いたことはありません。特定のエラーメッセージを含めることはできますか? – zapl
新しいスクリーンセッションを開いた後、 "source〜/ .bashrc"を実行すると、すべての環境変数が表示されます。 –