java取进程路径方法

1、使用当前路径

执行java命令前先cd进入到java命令所在目录,程序中可取系统属性user.dir或通过new File(".")取路径

2、使用相对路径

System.getenv("JAVA_HOME")/bin/java.exe

3、增加环境变量

执行java前,在bat或shell里增加一个环境变量,unix下记得export

//windows: set PROC_PATH=D:\jdk1.6.0_18\bin\javaw.exe

//unix:    export PROC_PATH=D:\jdk1.6.0_18\bin\javaw.exe

System.out.println(System.getenv("PROC_PATH"));

4、sigar根据进程ID取进程路径

/*1)、取当前进程ID*/
//9420@XMCX pid@计算机名
String pid = ManagementFactory.getRuntimeMXBean().getName();
//@之前为进程ID
pid = pid.substring(0, pid.indexOf('@'));

/*2)、根据进程ID取进程命令路径 D:\jdk1.6.0_18\bin\javaw.exe*/
Sigar sigar = new Sigar();//http://www.oschina.net/p/sigar
System.out.println(sigar.getProcExe(pid).getName());
System.out.println(sigar.getProcArgs(pid)[0]);


你可能感兴趣的:(sigar,java进程路径)