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;
}
}
java获取远程服务器应用程序服务状态的更多相关文章
- JAVA本地远程连接linux程序监控状态
环境: 1.本地window 2.程序部署在centos 一,启动访问权限安全守护程序 新建文件:jstatd.all.policy ,注意路径 grant codebase "$JA ...
- 使用nodejs和Java访问远程服务器的服务
既然这篇文章用的是nodejs和Java访问远程服务器的服务,那么咱们先用另一门编程语言,SAP的ABAP(我日常工作使用得最多的编程语言)来开发一个服务吧. 这是我用ABAP编程语言实现服务的类:Z ...
- Windows系统中使用WMI获取远程服务器的信息
使用WMI获取远程服务器的状态 我做的项目里边主要包含两个内容: (1)对发布在服务器上的服务(IIS服务.WCF服务)是否可以正常访问: (2)获取服务器上的部分指标:如CPU.内存.磁盘空间信息等 ...
- Java获取Web服务器文件
Java获取Web服务器文件 如果获取的是服务器上某个目录下的有关文件,就相对比较容易,可以设定死绝对目录,但是如果不能设定死绝对目录,也不确定web服务器的安装目录,可以考虑如下两种方式: 方法一: ...
- 使用 xcode 8 构建版本 iTunes Connect 获取不到应用程序的状态
今天在提交 APP 审核版本的时候iTunes Connect 一直获取不到应用程序的状态,原因是,14号 xcode 8一出 直接升级使用 xcode 8 打包发布包,然后直接用 xcode8 构建 ...
- C# 获取当前服务器运行程序的根目录,获取当前运行程序物理路径
C# 获取当前服务器运行程序的根目录,获取当前运行程序物理路径 string tmpRootDir = AppDomain.CurrentDomain.BaseDirectory;//获得当前服务器程 ...
- C# 获取当前服务器运行程序的根目录
C# 获取当前服务器运行程序的根目录,获取当前运行程序物理路径 string tmpRootDir = AppDomain.CurrentDomain.BaseDirectory;//获得当前服务器程 ...
- java ssh远程服务器并执行多条shell命令
java ssh远程服务器并执行多条命令 import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...
- Java 程序检查远程服务器状态
通常我们以命令的方式判断远程服务器是否正常运行有两种方式,ping 或 telnet 一个远程端口.假设我们要检查的远程服务器都是 Linux 系统. 从 JDK 1.5 以后, InetAddres ...
随机推荐
- 【LEETCODE】33、LeetCode的Given a non-negative integer numRows, generate the first numRows of Pascal's triangle
package y2019.Algorithm.array; import java.util.ArrayList; import java.util.List; /** * @ProjectName ...
- js中__proto__和prototype的区别和关系?(转)
转自知乎:https://www.zhihu.com/question/34183746
- Golang高并发抓取HTML图片
Golang高并发抓取HTML图片 使用准备 1.安装Golang 2.下载爬虫包 go get -v github.com/hunterhug/marmot/util go get -v githu ...
- intel ipp6.0安装过程
由于最近看到一个代码中使用了intel ipp6.0库,了解到,ipp6.0是一个很强大的图像处理库,将其与opencv联合使用,还能够加速opencv的处理,在图像处理的过程中,是一个很重要的工具. ...
- C#-调试记Log文件
using System.IO; //捕获异常写入Log catch (Exception ex) { string msg = ex.Message + ex.StackTrace; string ...
- C#-NPOI操作EXCEL
1.获取NUGET NPOI包. 2.引用命名空间 using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using NPOI.HSSF.UserMode ...
- Android笔记(五) Activity的启动模式
Android中Activity是由返回栈来管理的,在默认情况下,每当启动一个新的Activity,它都会在返回栈中入栈,并且出于栈的顶端.但是有些时候Activity已经在栈的顶端了,也就不需要再启 ...
- Python requests.post嵌套多层json参数调用接口
#coding:utf-8 import requests,json #第一行注解的#coding:utf-8表示可以支持中文,不然代码里面有中文会报错 url = "http://xxx& ...
- 算法笔试过程中的几个输入输出python语句
title: python在线笔试学习笔记 localimage: image1 urlname: writenexam categories: summary tags: [writen, exam ...
- Linux学习笔记之二
vim编辑器 :三种工作模式 vim /tmp/xueying.txt 命令模式 a.i.o/esc \ :wq 保存并退出 / \ 输入模式 ...