私はいくつかのコードを継承していますプロセスビルダーのwaitFor()問題とオープンファイルの制限
Process p = new ProcessBuilder("/bin/chmod", "777", path).start();
p.waitFor();
基本的には、ファイルとしてディスク上のキー/値のペアを格納するためのいくつかの古代と非常にブードゥー教に基づく理由があります。私は本当にそれに行きたくはありません。
しかし、私はIO例外の束が残っています:
Exception :Cannot run program "/bin/chmod": java.io.IOException: error=24, Too many open files
Message: Cannot run program "/bin/chmod": java.io.IOException: error=24, Too many open files
そして、私は10Kの王国に意味束で - 何百万
私はのwaitForコールが停止した感じを受けますこれらのプロセスが完了して終了するのを待っていますが、実際にファイルが閉じられる前にchmodが結果を返すと思います。それがこれらの例外の原因になるかどうか誰にでも知っていますか?
私の他の傾きは、何千ものファイルの開閉がJavaの端で十分速く起こっていないこと、そして何か他のことが起こっていることです。 fw.close()が呼び出されているときにクリアされます。
私はかなりJavaの新人です。これは私に困惑している地獄の奇妙なものでした。 (うれしいことに、アプリはまだ何とか実行されています。)非常に大きなログファイルを吐き出した後に
これを回避したり、バッファをクリアしたり、ファイルのオープン制限をjvmができる場所
対象のOS(およびバージョン)は何ですか?これを参照してください。http://unix.derkeiler.com/Newsgroups/comp.unix.solaris/2007-02/msg00873.html –
Debianを使用し、のunameの外にクリアされているようです。最新の安定したものになるでしょう。無制限に – Louis