1. 程式人生 > >Java判斷程式是否執行

Java判斷程式是否執行

目前用windows系統 判斷系統程序就通過Process執行Runtime的exc方法即windows的命令列

windows有條tasklist命令 FI方法過濾出匹配的過濾名稱

tasklist /fi "imagename eq <PROCESSNAME>"

public boolean isAlive(String procName) {
		String cmd = "tasklist /fi \"" + "imagename eq " + procName + "\"";
		Runtime r = Runtime.getRuntime();
		Process p = null;
		BufferedReader br = null;
		try {
			p = r.exec(cmd);
			br = new BufferedReader(new InputStreamReader(p.getInputStream()));
			String line = null;
			while ((line = br.readLine()) != null) {
				if (line.contains(procName)) {
					return true;
				}
			}
			return false;
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		} finally {
			if (br != null) {
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}