- - PR -
別プロセスで起動したperlプログラム
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-01-12 20:46
初心者です。
javaから、xmlファイルのデータを取得し、 HTMLファイルの生成を行うperlプログラムを呼び出しています。 java側では、Htmlファイルが生成されたかどうかを一定時間監視するようにして、 できていた場合とタイムアウトの場合に次処理に進むような作りになっています。 javaからperlプログラムを下記のように呼び出しています。 Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec(perlCmd); xmlデータが大きい時に、 perlでの処理が途中で止まってしまいます。(perl.exeのCPU使用率が0になる) しかし、javaでの処理がタイムアウトになりjavaプロセスが完了後にperlが動き出して、 HTMLファイルの生成が完了します。 javaからではなく、コマンドでperlを直接起動すれば上記のようなことはありません。 そもそも別プロセスで動いているはずなのですが、 何か考えられることはありますでしょうか? |
|
投稿日時: 2005-01-12 21:19
標準出力もしくは標準エラー出力がブロックされているのでは?
http://www.gimlay.org/~javafaq/S103.html ここのQ12を呼んでみてください。 |
|
投稿日時: 2005-01-14 05:50
ありがとうございます。
試してみます。 |
|
投稿日時: 2005-01-14 23:28
getInputStream()とgetErrorStream()をスレッドで実行する事により、 うまくいきました。 ukさん、どうもありがとうございました。 |
1