1

プロセスビルダーを使用してperlスクリプトを呼び出すJavaプロセスがあります。perlスクリプトは内部でバックグラウンドでバイナリを呼び出し、そのプロセスIDをそのperlスクリプトに持っています。これで、このプロセスIDをJavaに戻すことができます。

これで、JavaでプロセスIDを取得できました。Javaでそのプロセスが実行されているかどうか、または実行されていないかどうかを監視したいだけです。Java内でこの監視を行うにはどうすればよいですか。おそらく私はJavaスレッドが必要ですが、私はJavaに少し慣れていないので、誰かがいくつかの方向性を提案できますか?

4

3 に答える 3

3

おそらく最も簡単な方法は、ファイルシステムをチェックすることです/proc

プロセス1234が存在する場合、対応するファイルエントリがあります/proc/1234

于 2012-11-06T12:57:29.273 に答える
0

ProcessJavaは、作成されたProcessBuilderクラスまたはRuntime.exec()メソッドのみを監視します。

于 2012-11-06T12:48:36.977 に答える
0

のようなネイティブコマンドを実行し、のps aux | grep <pid>ようなクラスを使用してJava内からそのコマンドの出力を取得できますProcessBuilder。出力を解釈すると、プロセスがまだ実行中であるかどうかがわかります。

于 2012-11-06T12:52:20.683 に答える