본문 바로가기
728x90
반응형

ProcessBuilder5

[ffmpeg] 동영상 초마다 이미지 변환 command line + java code import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.bytedeco.javacv.FFmpegFrameGrabber; import org.bytedeco.javacv.FrameGrabber.Exception; public class cutVideo { public static void main(String[] args) throws IOException { String path = "C:/case_.. 2021. 12. 14.
[Java] 클래스 ProcessBuilder java.lang.Object ->java.lang.ProcessBuilder 이 클래스는 OS 의 프로세스의 작성에 사용됩니다. 각 ProcessBuilder인스턴스는 프로세스 속성의 컬렉션을 관리합니다. start() 메서드는 이러한 속성을 가지는 새로운 Process 인스턴스를 작성합니다. 같은 인스턴스로부터 start() 메서드를 반복해 호출해, 동일한 속성 또는 관련된 속성을 가지는 새로운 서브 프로세스를 작성할 수 있습니다. 각 프로세스빌더 는 다음의 프로세스 속성을 관리합니다. 「커멘드」. 호출되는 외부 프로그램 파일과 그 인수 (존재하는 경우)를 나타내는 캐릭터 라인의 리스트입니다. 어느 캐릭터 라인 리스트가 유효한 OS 커멘드를 나타낼까는 시스템에 응해 다릅니다. 예를 들어 개념상의 인수.. 2021. 5. 17.
[Java] Process, ProcessBuilder 자바에서 프로세스 다루기 1. 자바에서의 Process Runtime 클래스는 자바 런타임 환경을 캡슐화 한다. Runtime 클래스는 new 할 수 없지만 Runtime.getRuntime ()이라는 static 메소드를 이용하여 현재 실행중인 프로그램의 Runtime클래스에 대한 참조를 얻을 수 있다. Runtime의 exec() 메소드를 통해 프로그램을 실행 시키고 Process에 대한 참조를 얻는다. ProcessBuilder.start() 메서드를 통해 Process에 대한 참조를 얻을 수도 있다. Process 클래스는 프로세스에서 입력, 출력을 수행( getInputStream, getOutputStream, getErrorStream ), 프로세스가 완료 될 때까지 대기( waitFor ), 프로세스의 종료 상태를.. 2021. 5. 11.
[Java] Java에서 ProcessBuilder를 이용하여 OS Command 실행 1. 개요 자바 코드 상에서 OS 명령어를 실행하기 위한 방법 중 ProcessBuilder를 이용하는 예를 살펴본다. 2. 사전지식 OS 명령어 실행을 위한 Arugument는 List 형태로 전달한다. 예를 들면 다음과 같다. List command = new ArrayList(); command.add("ls"); command.add("-l"); command.add("/"); 3. 예제 코드 ProcessBuilder processBuilder = new ProcessBuilder(command); try { System.out.println("run " + StrUtil.getListString(command)); Process process = processBuilder.start(); Bu.. 2021. 5. 11.
[Java] ProcessBuilder 클래스 - 운영체제 프로세스 생성 이전 버전에서는 Runtime.exec()을 이용해 프로세스를 실행할 수 있습니다. 그런데 이 방법은 When Runtime.exec() won't에서도 소개 됐듯이 표준 입력과 출력에 대한 제한된 버퍼 사이즈로 인해 하위 프로세스가 block 되거나 데드락이 되기도 하는 문제가 있었습니다. 자바 JDK 7 이상에서는 이러한 문제점을 해결 하고자 Proccess Builder 클래스가 소개됩니다. 이 클래스는 운영체제 프로세스 생성할 때 사용합니다. Process Builder 클래스 인스턴스에는 프로세스를 제어할 때 필요한 유용한 속성을 제어합니다. 예를 들어 start() 메서드는 입력 받은 커맨드를 실행해 새로운 프로세스를 생성 합니다. 생성자의 역할 ProcessBuilder(List 커맨드): .. 2021. 5. 11.
728x90
반응형