java调用shell命令并获取执行结果
2023-09-14 09:16:09 时间
使用到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资源大全
- Java实现 LeetCode 172 阶乘后的零
- java实现放麦子问题
- Java实现 蓝桥杯 历届试题 国王的烦恼
- Java实现 蓝桥杯 历届试题 小计算器
- 一些java的部署执行编译等命令
- 【JAVA】Java 异常中e的getMessage()和toString()方法的异同
- 【JAVA】java中的length和length()
- 《java虚拟机》----虚拟机字节码执行引擎
- 选择 Java 编写 iOS 与 安卓 App的八大理由
- java算法 -- 冒泡排序
- [Java] try catch finally,try里有return,finally还执行么?
- Java Demo示例:多线程定时执行批量任务
- hbase学习(一)hbase单机部署和java客户端连接单机hbase
- 【java】EJB(Enterprise Java Bean)概述
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 执行JS操作
- Java类的初始化顺序(静态变量、普通成员变量、静态代码块、构造方法的执行顺序);static静态代码块执行时机
- 《一切皆是映射:代码的本质》Java 动态读取源代码,并编译 & 加载执行
- 详解jvm之java类加载机制和类加载器(ClassLoader) 深入理解Java类加载器(ClassLoader) 如何自定义类加载器 深入说明双亲委派 双亲委派模型的破坏者-线程上下文类加载器
- 一文详解java线程池 详解Java线程池的七个参数 详解池化技术 java如何选择核心线程数 详解Java线程池的拒绝策略
- MySQL和Java数据类型对应
- JAVA学习第十九课(java程序的异常处理 (二))
- JAVA语言之Java 中不同的并行实现的性能比较
- Java异常处理中,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- Java执行cmd命令启动进程
- 【java】Java 抽象类
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - exe文件执行