java代码获取进程是否存在、编写bat脚本判断进程,不存在则启动

java环境jdk的bin目录下copy文件javaw.exe为affectivew.exe

脚本如下:

@echo off
tasklist | find /i "affectivew.exe" && echo  [ %time:~,-3% ]存在进程affectivew.exe|| start %JAVA_HOME%\bin\affectivew.exe -jar C:\Users\Administrator\Desktop\testProess\nb-eureka.jar monitorMonkeyLog &
exit

 

public static void main(String[] args) throws InterruptedException {
         boolean status = getTaskStatus();
         System.out.println("进程运行状态:"+status);
     }
     
     public static boolean getTaskStatus(){
     /*
      * 下面先是获取进程列表
      */
     Runtime runtime = Runtime.getRuntime();
     List tasklist = new ArrayList();
     try {
         Process process = runtime.exec("tasklist");
         BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
         String s = "";
         while ((s = br.readLine()) != null) {
              if ("".equals(s)) {
                  continue;
              }
              tasklist.add(s+" ");
         }

         // 获取每列最长的长度
         String maxRow = tasklist.get(1) + "";
         String[] maxCol = maxRow.split(" ");
         // 定义映像名称数组
         String[] taskName = new String[tasklist.size()];
         for (int i = 0; i < tasklist.size(); i++) {
              String data = tasklist.get(i) + "";
              for (int j = 0; j < maxCol.length; j++) {
                  switch (j) {
                  case 0:
                      taskName[i]=data.substring(0, maxCol[j].length()+1).trim();
                      data=data.substring(maxCol[j].length()+1);
                      break;
                  }
              }
         }
         List<String> taskNameList = Arrays.asList(taskName);
         boolean taskFlag = taskNameList.contains("affectivew.exe");
         return taskFlag;
     
     } catch (Exception e) {
         e.printStackTrace();
     }
    return false;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值