Java でのプロセス ID の取得
現在の Java プログラムのプロセス ID の決定は、さまざまなデバッグや監視の目的でよく求められます。プラットフォーム固有のメソッドは存在しますが、より汎用的なソリューションが望ましいです。
プラットフォームの独立性に関しては、残念ながら、すべての JVM 実装に適用できる保証されたアプローチは存在しません。それにもかかわらず、広く使用されている ManagementFactory.getRuntimeMXBean().getName() メソッドが最も適切な選択肢として浮上しています。通常、「12345@hostname」という形式でプロセス ID を含む値が提供されます。「12345」は実際の PID を表します。
このメソッドのドキュメントではプラットフォームに依存する性質が強調されていることに注意することが重要です。そして保証の欠如。特に、Linux および Windows システムでは、通常、前述の形式で値を返します。ただし、他のプラットフォームでは形式が異なる場合があります。
Java 9 では、新しいプロセス API がより直接的なアプローチを提供します。
long pid = ProcessHandle.current().pid();
このメソッドは、基礎となるオペレーティング システムのプロセス API を利用して、 PID を確実に取得し、以前の方法とのプラットフォーム固有の不一致に対処します。したがって、Java バージョン 9 以降で使用することをお勧めします。
以上が異なるプラットフォーム間で現在の Java プロセス ID を確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。