java取进程路径方法

jopen 9年前

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]);