現在のJavaプロセスのプロセスIDをプログラミングで取得する
1050 ワード
Linuxのプログラミング経験のある友人は、現在のプロセスのプロセスIDを取得する方法に詳しいに違いありません.LinuxのCライブラリには、現在のプロセスのプロセスIDを簡単に取得できる関数getpidが提供されています.しかし、Java言語を仕事言語として使用している友人にとっては、現在のプロセスIDをどのように取得するかは難しいかもしれません.公式規格JDKドキュメントからはgetpidのような方法が見つからないようで、市販の教材でもプロセスIDの取得のようなプラットフォームに関連する関数の方法はあまり言及されていません.
最近、会社でツールのコードを読んでいると、偶然次のようなコードが見つかりました.JMXの特性を利用して、現在のJavaプロセスのプロセスIDを取得しました.コードのサンプルは以下の通りです.
サンプルコードのいくつかのメソッド呼び出しにより、現在のプロセスのプロセスを抽出できます.
ID
ああ、簡単じゃないですか.
最近、会社でツールのコードを読んでいると、偶然次のようなコードが見つかりました.JMXの特性を利用して、現在のJavaプロセスのプロセスIDを取得しました.コードのサンプルは以下の通りです.
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
public class GetPid {
/**
* @param args
*/
public static void main(final String[] args) {
final RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
final String info = runtime.getName();
final int index = info.indexOf("@");
if (index != -1) {
final int pid = Integer.parseInt(info.substring(0, index));
System.out.println(info);
System.out.println(pid);
}
}
}
サンプルコードのいくつかのメソッド呼び出しにより、現在のプロセスのプロセスを抽出できます.
ID
ああ、簡単じゃないですか.