java调用shell命令并获取执行结果的示例

使用到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<String> processList = new ArrayList<String>();

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);

}

}

以上这篇java调用shell命令并获取执行结果的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 java调用shell命令并获取执行结果的示例 的全部内容, 来源链接: utcz.com/z/346437.html

回到顶部