Java代码执行Linux命令

1.环境准备

在pom.xml里面添加打包依赖日志依赖

2.创建一个Test.java类,并添加如下代码。

import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {

    //创建日志log4j2对象
    static Logger log = LogManager.getLogger(Test.class.getName());

    public static void main(String[] args) throws IOException, InterruptedException {

        //执行的脚本命令(注意:加参数的话,.sh和参数之间保留一个空格)
        String cmd = "sh /data/test.sh " + args[0];
        log.info(cmd);//输出下命令
        Process proc = Runtime.getRuntime().exec(cmd);
        //获取脚本执行的得到的结果并缓存
        BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));

        String str;
        //读取数据
        while ((str = reader.readLine()) != null) {
            log.info(str);//打印结果
        }
        reader.close();
        proc.waitFor();

    }
}

3.执行package打包

4.将打包的文件通过ftp工具上传到linux服务器/data文件夹下

5.在/data文件夹下创建test.sh文件,并添加如下命令

echo "i am $1"

6.执行Jar包(它会调用test.sh,并将test.sh执行的结果存入日志)

[root@tuge1 data]# java -jar JavaMavenObj-1.0-SNAPSHOT-jar-with-dependencies.jar 测试下

Java代码执行Linux命令

查看日志:

Original: https://www.cnblogs.com/shuai7boy/p/12784669.html
Author: shuai7boy
Title: Java代码执行Linux命令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/10100/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部