관리 메뉴

JeongMin-dev

[JAVA] 코드에서 쉘 스크립트 실행 본문

Java

[JAVA] 코드에서 쉘 스크립트 실행

클딧 2023. 7. 3. 13:19

쉘 스크립트 실행 방법

쉘 스크립트 실행 방법으로는 두 가지가 있습니다 그중 저는 첫 번째를 애용합니다.

 

ProcessBuilder

@Override
    public String reboot() {

        String result = "";

        try {
            ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "[쉘 스크립트 경로] ex:/root/example/reboot.sh");
            Process process = processBuilder.start();
            int exitCode = process.waitFor();

            if (exitCode == 0) {
                System.out.println("서버 리부트 완료!");
                result = "서버 리부트 완료!";

            } else {
                System.out.println("서버 리부트중 오류 발생!");
                result = "서버 리부트중 오류 발생!";
            }

        } catch (InterruptedException | IOException e) {
            e.printStackTrace();
        }

        return result;
    }
  • 쉘 스크립트에서 재부팅 sh를 만든 후 코드에서 실행하는 서버 재부팅 메서드입니다.

 

Runtime.getRuntime(). exec()

public class RunShellScript{
	
    public static void main(String[] args){
    	try{
        	// Run script
            Process process = Runtime.getRuntime().exec("/tmp/myscript.sh");
            
            // Read output
            StringBuilder output = new StringBuilder();
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(process.getInputStream()));
                
            String line;
            while((line = reader.readLine()) != null){
            	output.append(line);
            }
            
        }catch (Exception e){
        	e.printStackTrace();
        }
    }
}
  • 인터넷에서 가져온 다른 방식입니다.