How can a Java program get its own process ID?

后端 未结 22 2306
梦毁少年i
梦毁少年i 2020-11-22 03:47

How do I get the id of my Java process?

I know there are several platform-dependent hacks, but I would prefer a more generic solution.

22条回答
  •  余生分开走
    2020-11-22 04:29

    Try Sigar . very extensive APIs. Apache 2 license.

    private Sigar sigar;
    
    public synchronized Sigar getSigar() {
        if (sigar == null) {
            sigar = new Sigar();
        }
        return sigar;
    }
    
    public synchronized void forceRelease() {
        if (sigar != null) {
            sigar.close();
            sigar = null;
        }
    }
    
    public long getPid() {
        return getSigar().getPid();
    }
    

提交回复
热议问题