개발/JAVA

[Java] 자바로 메모장 실행하기 with ProcessBuilder

mabb 2023. 6. 13. 17:44
반응형

크론탭으로 쉘스크립트를 실행해서 만들어진 log파일을 읽는 방법을 생각하다가 일정 주기마다 생성하는 방법의 단점을 알게 되어서 API를 통해 운영체제에 트리거를 줄 수 있는 방법이 있는지 찾아보았다. java.lang.ProcessBuilder 클래스가 그런 기능을 제공하고 있다. 자바는 참 대단한 것 같다.

public class Main {
    public static void main(String[] args){
      String command = "notepad";
      ProcessBuilder process = new ProcessBuilder(command);
        try {
            process.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

어떤 식으로 동작하는지 맛보기 위한 초 간단 예제이다. 실행 시 메모장이 실행된다. command를 notepad가 아닌 mspaint로 변경하면 그림판이 실행된다. calc로 변경하면 계산기가 실행된다.  운영체제의 기본 명령어는 실행이 가능한 것으로 보인다.

이를 응용하여 리눅스 서버의 sh test.sh 명령어를 수행해 준다면 크론탭을 사용하지 않고 쉘스크립트를 통해 log파일을 생성하고 이 log파일을 읽어서 리눅스 운영체제의 성능정보를 사용할 수 있을 것이라고 생각한다.

반응형