{"id":329,"date":"2009-12-05T00:53:13","date_gmt":"2009-12-04T23:53:13","guid":{"rendered":"http:\/\/www.gennard.net\/blog\/?p=329"},"modified":"2009-12-05T00:53:13","modified_gmt":"2009-12-04T23:53:13","slug":"java-process-id-via-java-lang-management","status":"publish","type":"post","link":"http:\/\/www.gennard.net\/blog\/2009\/12\/java-process-id-via-java-lang-management\/","title":{"rendered":"Java process id via java.lang.management"},"content":{"rendered":"<p>While working on a project recently I need to find out the current process of the active running Java process (for tracing\/auditing), however I never found a 100% perfect solution but did come across an acceptable solution to use the management classes to query its name, which happens to have encoding in it, so here is the quick solution:\n<\/p>\n<p><code lang=\"java\" width=\"600\"><br \/>\nimport java.lang.management.ManagementFactory;<\/p>\n<p>public class getpid<br \/>\n{<br \/>\n  public static void main(String args[]) throws Exception<br \/>\n  {<br \/>\n\t  System.out.println(\"Process id : \"+getProcessId());<br \/>\n  }<\/p>\n<p>  public static long getProcessId()<br \/>\n  {<br \/>\n\tString name = ManagementFactory.getRuntimeMXBean().getName();<br \/>\n\tString[] nameBits = name.split(\"@\"); <\/p>\n<p>\treturn nameBits == null ? -1 : \tLong.valueOf(nameBits[0]);<br \/>\n  }<br \/>\n}<br \/>\n<\/code><\/p>\n<p><code lang=\"text\"><br \/>\n$ java getpid<br \/>\nProcess id : 377<br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>While working on a project recently I need to find out the current process of the active running Java process (for tracing\/auditing), however I never found a 100% perfect solution but did come across an acceptable solution to use the &hellip; <a href=\"http:\/\/www.gennard.net\/blog\/2009\/12\/java-process-id-via-java-lang-management\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,17,32],"tags":[104,239,227],"_links":{"self":[{"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/posts\/329"}],"collection":[{"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/comments?post=329"}],"version-history":[{"count":0,"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/posts\/329\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/media?parent=329"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/categories?post=329"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gennard.net\/blog\/wp-json\/wp\/v2\/tags?post=329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}