java调用shell命令并获取执行结果的示例
作者:arkblue 发布时间:2021-07-06 06:17:54
标签: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);
}
}
来源:https://blog.csdn.net/arkblue/article/details/7897396
0
投稿
猜你喜欢
- 本文实例讲述了java识别一篇文章中某单词出现个数的方法。分享给大家供大家参考。具体如下:1. java代码:import java.io.
- 本文实例为大家分享了Java实现单向链表反转的具体代码,供大家参考,具体内容如下1、实现代码public class LinkedListT
- StopWatch是位于org.springframework.util包下的一个工具类,通过它可方便的对程序部分代码进行计时(ms级别),
- 前言本文将带您了解在 Flutter 中制作翻转卡片动画的两个完整示例。第一个示例从头开始实现,第二个示例使用第三方包。闲话少说,让我们动手
- 前言这是该工具的github地址:https://github.com/pingfangushi/screw一、引入pom.xml依赖<
- 一、 * 概念 * 分为JDK * 和cglib * 两种方式。jdk * 是由Java内部的反射机制来实现的,cglib *
- 因为工作原因需要读取json文件,最先是使用url方式不符合要求pass。又使用本地方式读取。记录一下方便后期查看。 注:因为资料都是从网上
- 在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。本基于springboot做的测试,主要是构建工程方
- 前言在讲述线程池的前提 先补充一下连接池的定义连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用可以看到其连接
- 绝大部分知识与实例来自O'REILLY的《Java网络编程》(Java Network Programming,Fourth Edi
- 一、判断字母string str = Console.ReadLine();if (char.isLetter(str)){}else if
- Redisson是架设在redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。充分的利用了Redis键值数
- 介绍该系统有三个角色,分别是:普通用户、房屋中介、管理员。普通用户的功能:浏览房屋信息、预约看房、和中介聊天、申请成为中介等等。房屋中介的功
- 本文实例为大家分享了java实现飞机游戏的具体代码,供大家参考,具体内容如下MyGameFrame类:主要的调用类package sc.wh
- 本文实例讲述了C#计算字符串相似性的方法。分享给大家供大家参考。具体如下:计算字符串相似性的办法很多,甚至最笨的办法可以挨个匹配,这里要讲的
- 目录前言connectTimeout:callTimeout:pingIntervalwriteTimeoutreadTimeout总结前言
- Spring和SpringMVC的容器具有父子关系,Spring容器为父容器,SpringMVC为子容器,子容器可以引用父容器中的Bean,
- Spring使用AOP完成统一结果封装起因:自己写项目的时候忍受不了每个方法都要写一个retrun Result.success();和 r
- 记得在thinkphp框架中,模型名会自动转换为对应下划线的表名,如,UserType 自动转化为user_type,在平时写程序中很多地方
- Springboot对配置文件的敏感信息加密前言最近公司对软件的安全问题比较在意,要求对配置文件中的敏感信息如数据库密码等进行加密。但是Sp