Javaプロセス制御は悪名高いことで有名です-主にJavaVM/ JDKクラス(例:java.lang.Process)による不十分なサポートが原因です。
信頼できる優れたオープンソースライブラリはありますか?
要件は次のとおりです。
- OSS
- プロセスの開始/停止
- STDINとSTDOUTを管理する
- クロスプラットフォーム(少なくともLinux、Windows、Solaris、HP、IBMの順)
- (オプション)再起動可能
- (望ましい)成熟した
Javaプロセス制御は悪名高いことで有名です-主にJavaVM/ JDKクラス(例:java.lang.Process)による不十分なサポートが原因です。
信頼できる優れたオープンソースライブラリはありますか?
要件は次のとおりです。
Apache Commons Execはどうですか?
もう1つの要件...孤立したプロセスを強制終了するためのクロスプラットフォームのサポート。(およびApache Commons Exec)を使用java.lang.Process
すると、Javaアプリケーションがハードストップ(kill -9)を実行したときに外部プロセスを強制終了する方法はありません。問題をうまく処理できるライブラリを見つけたいと思っています。
1つの解決策は、PIDをディスク上のリソースに格納し、Javaアプリケーションの再起動時にプロセスを強制終了することです。もちろん、これはプラットフォームに依存するので、優れたクロスプラットフォームライブラリは素晴らしいでしょう。
Java Service Wrapperが探しているものかもしれません。これはクロスプラットフォームであり、Windows サービスとして開始し、IO をキャプチャし、一般的に Java アプリを完全に管理するために使用できます。とても軽くてデザインも良いです。Atlassian は製品 (Jira、Bamboo など) をラップするためにこれを使用しているため、実際にテストされています。