JavaまたはEclipseプラグインを介して、ネイティブコードにドロップダウンせずに名前でプロセスを見つけることは可能ですか?具体的には、Webブラウザーが実行されているかどうかを判別し、ブラウザーを再起動する必要がある可能性があることをユーザーに通知したいと思います。
ネイティブコードは常にオプションであることは知っていますが、回避できる場合は、別のJNIライブラリをセットアップすることは避けたいと思います。
JavaまたはEclipseプラグインを介して、ネイティブコードにドロップダウンせずに名前でプロセスを見つけることは可能ですか?具体的には、Webブラウザーが実行されているかどうかを判別し、ブラウザーを再起動する必要がある可能性があることをユーザーに通知したいと思います。
ネイティブコードは常にオプションであることは知っていますが、回避できる場合は、別のJNIライブラリをセットアップすることは避けたいと思います。
これは実際には重複した質問です。元の質問を参照してください。
ここには 2 つのオプションがあります。1 つは、実行中のプロセスを一覧表示し、その出力を解析するコマンド ライン ツールを実行することです。Linux で Jay が述べたように、「ps」を使用できます。Windows では、GnuWin/cygwin/etc からの ps のポートまたはPsListなどのネイティブ ツールのいずれかのツールをバンドルするか、サンプルを参照する必要があります。
2 番目のオプションは、JNI を使用することですが、コードを最初から記述する必要はありません。JniWrapperを検討してください。一般的なネイティブ OS 機能用の使いやすい Java API を提供します。また、オープン ソース プロジェクトの無料ライセンスも提供しています。
実行中のプロセスのリストをJavaから直接取得する方法がわかりません。Linuxを使用している場合は、「ps」を実行するプロセスを作成し、プロセスのInputStreamを読み取って結果をインターセプトし、解析することができます。これを行うためにJNIレベルに下がる必要はありません。Processを使用してシェルコマンドを実行できます。