2009-04-15 13 views
0

Javaプログラムを作成する方法は、pidを取得する?Javaプログラムを書く方法pidを取得する

+0

これはあまりにも曖昧です。何のpidを取得しますか? – unwind

+0

質問をより具体的にする。さもなければ - 閉じる++; –

+0

http://stackoverflow.com/questions/138097/how-do-i-find-my-pid-in-java-or-jruby-on-linuxとhttp://stackoverflow.com/questions/35842の重複/ process-id-in-java? – chburd

答えて

1

私はこれがJavaのサプライ品であるとは思わない。まず、プラットフォームに依存しない性質を打破します。私はそれにアプローチする2つの方法を見ることができます。どちらも、あなたはUNIXタイプのシステムで動いていると仮定します。

  • getpid()を呼び出して返すJNIを提供します。
  • を呼び出す外部プログラムを実行するシステムまたはRuntimeメソッドの1つを使用して、親(つまりJava)のPIDを取得します。悪い場合は、Java自体を見つけるまでプロセスツリーを上ります。
2

これはJMXを使用して行うことができますが、注意してください。以下は公式にサポートされているメカニズムではなく、変更される可能性があります。しかし、私はこれを過去に使用しており、うまく動作します。

RuntimeMXBean rmxb = ManagementFactory.getRuntimeMXBean(); 
System.err.println("pid: " + rmxb.getName()); 

印刷する{PID} @hostname

関連する問題