java调用shell命令并获取执行结果
2016-01-01 16:43
866 查看
http://blog.csdn.net/arkblue/article/details/7897396
使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取
[plain] view
plaincopy
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
[java] view
plaincopy
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);
}
}
使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取
[plain] view
plaincopy
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
[java] view
plaincopy
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);
}
}
相关文章推荐
- bash: /opt/Tools/linux-devkit/bin/arm-arago-linux-gnueabi-gcc: No such file or directory
- Bash基础知识
- B374K PHP WEBSHELL:一款简单却功能强大的远程管理工具
- ant调用make实现Makefile编译
- Shell编程进阶 1.2 shell结构及执行
- shell变量子串和变量替换常用案例
- php webshell的防范
- shell命令用法集锦
- 开始学习Shell/bash 加减乘运算
- cmake:shell(bat,sh) 脚本方式生成Makefile
- shell里面,“%”、“#”
- shell 字符串中定位字符位置 获取字符位置
- -bash: grunt-cli: command not found
- -bash: fork: retry: Resource temporarily unavailable
- shell如何取到文件中某一行某一列的内容
- shell脚本编程<二>:if-then,case结构化命令
- shell修改配置文件
- shell脚本编程<一>:变量及脚本中数学计算
- bash反弹shell
- 基于CentOS的MySQL学习补充五--使用Shell备份(mysqldump)MySQL数据库