• java获取远程服务器应用程序服务状态


    package lct.conference.test;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    public class Test3 {
            public static void main(String[] args){
            String[] cmdStr = { "cmd", "/C", "wmic /node:"192.168.0.34" /user:"administrator" /password:"12345" service get /value" };
            List<Map<String, Object>> list = null;
            try {
                list = getAllResult(cmdStr, 25);
                System.out.println(list.size());
                JSONArray jr = JSONArray.fromObject(list);
                JSONObject jo = new JSONObject();
                for(int i=0;i<list.size();i++){
                    jo.clear();
                    jo=(JSONObject) jr.get(i);
                    if("Apache Tomcat".equals(jo.get("Caption"))){
                        String ifStarted = jo.get("Started").toString();
                        System.out.println( "Apache Tomcat服务"+ifStarted);
                    }else if("MySQL".equals(jo.get("Caption"))){
                        String ifStarted = jo.get("Started").toString();
                        System.out.println( "MySQL服务"+ifStarted);
                    }else if("PCMS Service".equals(jo.get("Caption"))){
                        String ifStarted = jo.get("Started").toString();
                        System.out.println( "PCMS Service服务"+ifStarted);
                    }else if("PCMS Watch Service".equals(jo.get("Caption"))){
                        String ifStarted = jo.get("Started").toString();
                        System.out.println( "PCMS Watch Service服务"+ifStarted);
                    }
                }
                System.out.println(list);
            } catch (IOException e) {
                e.printStackTrace();
                System.out.println( "获取所有服务信息失败!");
            }
        }
        private static List<Map<String, Object>> getAllResult(String[] cmdStr, int flag) throws IOException {
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            Integer index = 1;
            Process p = null;
            String str = null;
            String[] arrStr = new String[2];
            Map<String, Object> map = new HashMap<String, Object>();
            InputStreamReader isr = null;
            BufferedReader br = null;
            try {
                p = Runtime.getRuntime().exec(cmdStr);
                isr = new InputStreamReader(p.getInputStream(),"GBK");
                br = new BufferedReader(isr);
                while ((str = br.readLine()) != null) {
                    if (str!=null && !"".equals(str)) {
                        if (index % flag == 0) {
                            list.add(map);
                            map = new HashMap<String, Object>();
                        }
                        arrStr = str.split("=");
                        str = str.endsWith("=") ? "" : arrStr[1];
                        map.put(arrStr[0], str);
                        index++;
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
                System.out.println("获取进程的所有信息失败!");
                throw e;
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("获取执行结果失败!");
            } finally {
                try {
                    if (br != null) {
                    }
                    br.close();
                    if (isr != null) {
                        isr.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
                if (p != null) {
                    p.destroy();
                }
            }
            return list;
        }
    }
  • 相关阅读:
    浅谈移动前端的最佳实践
    Android系统以及Activity启动讲解
    IntelliJ IDEA快捷键大全
    Gson 防止被混淆
    APP崩溃重启
    Green Dao数据库升级
    Expected resource of type anim [ResourceType]
    android studio "android() not found"
    BroadcastReceiver动态广播夸类,夸界面使用
    关于shape使用
  • 原文地址:https://www.cnblogs.com/penghq/p/10136965.html
Copyright © 2020-2023  润新知