1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package it.jnrpe.plugin.utils;
17
18 import java.io.BufferedReader;
19 import java.io.IOException;
20 import java.io.InputStream;
21 import java.io.InputStreamReader;
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26
27
28
29
30
31
32
33 public class ShellUtils {
34
35
36
37
38
39
40
41
42
43 public static String executeSystemCommandAndGetOutput(String[] command, String encoding) throws IOException{
44 Process p = Runtime.getRuntime().exec(command);
45 InputStream input = p.getInputStream();
46 StringBuffer lines = new StringBuffer();
47 String line = null;
48 BufferedReader in =
49 new BufferedReader(new InputStreamReader(input, encoding));
50 while ((line = in.readLine()) != null) {
51 lines.append(line).append("\n");
52 }
53 return lines.toString();
54 }
55
56
57
58
59
60
61 public static boolean isWindows() {
62 String os = System.getProperty("os.name").toLowerCase();
63 return os.contains("windows");
64 }
65
66
67
68
69
70
71
72 public static boolean isWindowsIdleProc(String proc) {
73 proc = proc.trim().toLowerCase();
74 if (proc.equals("system idle process") ||
75 proc.contains("inactiv") ||
76 proc.equals("system")) {
77 return true;
78 }
79 return false;
80 }
81
82 }