processName为进程名称
private boolean findProcess(String processName) {
BufferedReader bufferedReader = null;
try {
Properties prop= System.getProperties();
Process proc=null;
//获取操作系统名称
String os= prop.getProperty("os.name");
log.debug("os:{}",os);
if (os != null && os.toLowerCase().startsWith("lin")) {
proc = Runtime.getRuntime().exec("ps -ef");
}else {
proc = Runtime.getRuntime().exec("tasklist");
}
bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
if (line.contains(processName)) {
return true;
}
}
return false;
} catch (Exception ex) {
log.error("get procedure whetherRunning failed!");
return false;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (Exception ex) {
log.error("bufferedReader close failed!");
}
}
}
}