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();
        }
    }
相关文章
|
5天前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
11天前
|
Java Linux Windows
java在Linux执行命令Java在Windows执行命令
java在Linux执行命令Java在Windows执行命令
19 0
|
2天前
|
存储 Java 应用服务中间件
Linux中安装部署环境(JAVA)
Linux中安装部署环境(JAVA)
9 0
|
11天前
|
Java Linux 开发工具
Linux 配置 Java/JDK 环境
Linux 配置 Java/JDK 环境
30 0
|
11天前
|
Java Linux 应用服务中间件
Linux启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
Linux启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
14 0
|
11天前
|
Java Linux 开发工具
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
11 0
|
11天前
|
Java Linux 开发工具
Linux安装Java
Linux安装Java
57 0
|
11天前
|
Java Linux
linux 配置java 环境变量
linux 配置java 环境变量
18 0
|
11天前
|
Java Linux 编译器
Linux配置java
Linux配置java
|
11天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务