java Linux语句输入 linux下执行语句

简介: java Linux语句输入 linux下执行语句

Java程序,在Linux中执行定义的命令,执行命令

/**
     * Linux语句输入
     * dongxinji
     * 2022年9月28日
     *
     * @throws IOException
     */
    public void linuxState(String fileName) {
        log.info("linuxState fileName*********" + fileName);
        String name = fileName.substring(0, fileName.length() - 3);//文件名,无后缀
        List<String> commands = new ArrayList<>();
//        commands.add("pwd");
        commands.add("cd" + path);
        // 执行shell脚本,必备sh命令
        commands.add("nohup sh " + name + ".sh > " + logPath + name + ".log &");
//        commands.add("sh ./test.sh");
        executeOneMore(commands);//调用执行语句
    }
 /**
     * linux下执行语句
     * dongxinji
     * 2022年9月28日
     *
     * @throws IOException
     */
    public static void executeOneMore(List<String> commands) {
        Runtime run = Runtime.getRuntime();
        try {
            Process proc = run.exec("/bin/bash", null, null);
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);
            for (String line : commands) {
                log.info("linux执行语句*********" + line);
                out.println(line);
            }
            out.println("\r\n");
            out.println("exit");// 结束命令
            String rspLine = "";
            while ((rspLine = in.readLine()) != null) {
                log.info("rspLine***********" + rspLine);
            }
            proc.waitFor();
            in.close();
            out.close();
            proc.destroy();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }
相关文章
|
7天前
|
存储 Ubuntu Java
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
13 1
|
20天前
|
Java Linux
Java执行Linux命令
Java执行Linux命令
25 2
|
10天前
|
存储 Java Linux
Java面试之Linux和docker
Java面试之Linux和docker
13 0
|
10天前
|
Java Linux Shell
Linux软件安装和部署Java代码
Linux软件安装和部署Java代码
13 0
|
1月前
|
Ubuntu Java Linux
Linux必备基础命令,JAVA程序员必备
Linux必备基础命令,JAVA程序员必备
|
1月前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
50 2
|
1月前
|
Ubuntu Oracle Java
Linux|如何安装 Java
Linux|如何安装 Java
27 0
|
1月前
|
Java 关系型数据库 MySQL
【JavaEE进阶】 Linux搭建Java部署环境
【JavaEE进阶】 Linux搭建Java部署环境
|
1月前
|
Oracle Java 关系型数据库
04. 【Java教程】在 Linux 上安装 Java
04. 【Java教程】在 Linux 上安装 Java
33 0
|
2月前
|
Java Linux
Linux下如何定位最耗CPU的JAVA代码
Linux下如何定位最耗CPU的JAVA代码
46 0