原理:获取系统所有进程列表,遍历,然后进行模糊匹配,将匹配到的进程杀死!
作用:保证在系统中只有一个程序进程实例。
/**
* 确保系统中只有一个程序实例
* 1.如果客户端启动前,操作系统中有残留进程,则杀死进程,然后启动
* 2.如果客户端启动前,操作系统中没有残留进程,则直接启动
* 时间:2018-04-13
* @author Jason
*
*/
public class SingleProcess {
public static Logger logger = Logger.getLogger(SingleProcess.class);
/**
* 确认进程,获取进程,杀死进程
* @param prefix 进程名前缀
*/
public static void comfirmSingleProcess(String prefix) {
if(prefix == null) {
throw new NullPointerException("The prefix is null,please check it!!");
}
// 声明文件读取流
BufferedReader out = null;
BufferedReader br = null;
try {
// 创建系统进程
ProcessBuilder pb = new ProcessBuilder("tasklist");
Process p = pb.start();
// 读取进程信息
out = new BufferedRe