ホームページ > Java > &#&チュートリアル > Java プログラムのプロセス ID を確実に取得するにはどうすればよいですか?

Java プログラムのプロセス ID を確実に取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-19 02:03:13
オリジナル
535 人が閲覧しました

How Can I Reliably Get the Process ID of a Java Program?

汎用 Java プログラムのプロセス ID の取得

実行中の Java プログラムに関連付けられたプロセス ID (PID) の取得は、永続的な課題でしたプラットフォームに依存しないソリューションを求める開発者向け。プラットフォーム固有の回避策は存在しますが、必要な汎用性が欠けています。

RuntimeMXBean アプローチ

最も広く採用されているソリューションには、ManagementFactory クラスとその getRuntimeMXBean() メソッドが導入されています。通常、この行は「12345@hostname」のような名前を生成します。12345 は PID を表します。

ただし、このアプローチは文書化されていない微妙な点に依存しており、すべての JVM 実装で一貫した結果が得られるとは保証されていないことに注意することが重要です。 。実際、Java ドキュメント自体は、プラットフォーム固有の規則に従い、返される名前は任意である可能性があることを明示的に警告しています。

実行中の Java 仮想マシンを表す名前を返します。返される名前文字列は任意の文字列にすることができ、Java 仮想マシンの実装では、返される名前文字列にプラットフォーム固有の有用な情報を埋め込むことを選択できます。実行中の各仮想マシンには異なる名前を付けることができます。

Java 9 Process API

Java 9 で導入された ProcessHandle API は、仮想マシンを取得するためのより直接的で標準化された代替手段を提供します。 PID:

long pid = ProcessHandle.current().pid();
ログイン後にコピー

このアプローチは、最新のプロセス ID にアクセスするための信頼性が高く、プラットフォームに依存しない方法を提供します。 Java バージョンでは、RuntimeMXBean アプローチに関連する複雑さを排除します。

以上がJava プログラムのプロセス ID を確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート