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