美文网首页
Java执行Linux命令并返回命令结果

Java执行Linux命令并返回命令结果

作者: 谁许谁欢颜 | 来源:发表于2020-09-08 10:57 被阅读0次

Java 可以通过 Runtime 调用Linux命令,形式如下:

Runtime.getRuntime().exec(command)

但是这样执行时没有任何输出,因为调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process子类的实例

(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息。

由于调用 Runtime.exec 方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过 Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream() 方法重定向给它的父进程了。

用户需要用这些stream来向子进程输入数据或获取子进程的输出。

下面的代码可以取到 linux 命令的执行结果:

BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuffer sb2 = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
    sb2.append(line).append("\n");
}
String result = sb2.toString();
logger.info(result);

相关文章

  • Java执行Linux命令并返回命令结果

    Java 可以通过 Runtime 调用Linux命令,形式如下: Runtime.getRuntime().ex...

  • java远程执行shell命令失败

    需要通过java远程登录linux系统执行shell命令,执行的shell命令是 这条命令在linux下执行完全没...

  • 远程执行linux命令找不到命令

    远程执行linux命令找不到命令如下: java: 未找到命令 对于此种情况,启动shell时会去查找并加载/et...

  • bash函数内判断命令执行结果并返回

    bash函数内判断命令执行结果并返回 需求背景 在bash编程中,经常会需要执行对命令的结果判断,如果正确继续执行...

  • docker 常用易忘命令

    查看容器的ip 在容器中执行命令并返回结果

  • Python将控制台内容重定向至文件

    使用os.system(command)等模块执行系统命令时,返回值为命令执行结果,命令执行成功返回Ture,否则...

  • Java执行linux命令

    今天使用java调用linux命令出现了bug,有开始执行命令的日志打印,但是没有后续的执行结果打印,也没有错误日...

  • paramiko 远程执行命令

    Python学习总结 06 paramiko 远程执行命令 有时会需要在远程的机器上执行一个命令,并获得其返回结果...

  • 特殊符号

    1 、\反斜线表示转义 2 反引号表示命令的输出,返回命令执行后的结果。 3 $(commend)执行命令,返回命...

  • (15)redis Pipeline详解

    一、pipeline出现背景: redis客户端执行命令4个过程:发送命令-〉命令排队-〉命令执行-〉返回结果 过...

网友评论

      本文标题:Java执行Linux命令并返回命令结果

      本文链接:https://www.haomeiwen.com/subject/xyedektx.html