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 測試下

查看日志:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM