使用到 Process 和 Runtime 两个类,返回值通过 Process 类的 getInputStream()方法获取
- package ark;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.List;
- public class ReadCmdLine {
-
public static void main(String args[]) {
-
Process process = null;
-
List processList = new ArrayList();
-
try {
-
process = Runtime.getRuntime().exec("ps -aux");
-
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
-
String line = "";
-
while ((line = input.readLine()) != null) {
-
processList.add(line);
-
}
-
input.close();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
for (String line : processList) {
-
System.out.println(line);
-
}
-
}
- }
调用 shell 脚本,判断是否正常执行,如果正常结束,Process 的 waitFor()方法返回 0
- public static void callShell(String shellString) {
-
try {
-
Process process = Runtime.getRuntime().exec(shellString);
-
int exitValue = process.waitFor();
-
if (0 != exitValue) {
-
log.error("call shell failed. error code is :" + exitValue);
-
}
-
} catch (Throwable e) {
-
log.error("call shell failed. " + e);
-
}
- }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于