Java执行Linux命令

简介: Java执行Linux命令
package org.ml.deployer.util;
 
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
 
public class CommandUtil {
    public static String run(String command) throws IOException {
        Scanner input = null;
        String result = "";
        Process process = null;
        try {
            process = Runtime.getRuntime().exec(command);
            try {
                //等待命令执行完成
                process.waitFor(10, TimeUnit.SECONDS);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            InputStream is = process.getInputStream();
            input = new Scanner(is);
            while (input.hasNextLine()) {
                result += input.nextLine() + "\n";
            }
            result = command + "\n" + result; //加上命令本身,打印出来
        } finally {
            if (input != null) {
                input.close();
            }
            if (process != null) {
                process.destroy();
            }
        }
        return result;
    }
    
    public static String run(String[] command) throws IOException {
        Scanner input = null;
        String result = "";
        Process process = null;
        try {
            process = Runtime.getRuntime().exec(command);
            try {
                //等待命令执行完成
                process.waitFor(10, TimeUnit.SECONDS);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            InputStream is = process.getInputStream();
            input = new Scanner(is);
            while (input.hasNextLine()) {
                result += input.nextLine() + "\n";
            }
            result = command + "\n" + result; //加上命令本身,打印出来
        } finally {
            if (input != null) {
                input.close();
            }
            if (process != null) {
                process.destroy();
            }
        }
        return result;
    }
}
相关文章
|
5月前
|
Java 编译器 Windows
用命令行运行Java代码
用命令行运行Java代码
35 0
|
缓存 监控 网络协议
Java面试题 -Linux命令
Java面试题 -Linux命令
82 0
|
Java 应用服务中间件
Java——通过Java代码启动批处理文件(一)
Java——通过Java代码启动批处理文件(一)
Java——通过Java代码启动批处理文件(二)
Java——通过Java代码启动批处理文件(二)
java202302java学习笔记第五天-命令行传递参数
java202302java学习笔记第五天-命令行传递参数
64 0
java202302java学习笔记第五天-命令行传递参数
|
Java 编译器
理解Java程序的执行
理解Java程序的执行
|
Java Shell Maven
Java执行shell命令
java执行shell命令的方式有很多种,但是在应用的过程中,我们可能会遇上一些特殊的情况,导致执行脚本失败,不生效的场景。
430 0
|
Java Linux
在java代码中使用linux指令
在java代码中使用linux指令
|
Java
执行以下操作安装 Java
执行以下操作安装 Java
97 0
|
IDE Oracle Java
Java 11 快要来了,编译 & 运行一个命令搞定!
Java 11 马上要来了,原定于 9 月发布,还有不到 3 个月了,敬请期待更多新功能被加入到 11 当中,本文本讲的是 JEP 330 这个新特性。 化繁为简,一个命令编译运行源代码
126 0
下一篇
无影云桌面