카테고리 없음

[자바] 자바에서 프로세스를 만드는 방법 [닫힌]

행복을전해요 2021. 1. 10. 11:24

Java에서 프로세스를 생성하는 방법은 한 가지뿐입니다. Runtime.exec()기본적으로 명령 줄 인터페이스를 사용하는 것처럼 새 JVM을 시작할 수 있습니다.

-------------------

아마도 java.lang.Process 가 여기에서 도움이 될 수 있습니다 ..

ProcessBuilder.start()Runtime.exec방법은 네이티브 인 프로세스를 작성해, 그것에 대해 정보를 얻을 수 있습니다 프로세스의 서브 클래스의 인스턴스를 돌려줍니다. Process 클래스는 프로세스에서 입력을 수행하고, 프로세스에 출력을 수행하고, 프로세스가 완료 될 때까지 대기하고, 프로세스의 종료 상태를 확인하고, 프로세스를 파괴 (종료)하는 메서드를 제공합니다.

-------------------

좀 더 세밀한 제어를 원할 경우, 당신은 사용할 수 있습니다 ProcessBuilder-이 클래스가 설정 환경 변수에 당신을 허용하고 프로젝트의 파이프를 구성 ( stdout, in, err).

구성한 후에는 ProcessBuilder#start()새 프로세스를 만들기 위해 원하는만큼 호출 할 수 있습니다 (의 인스턴스를 반환 함 Process). 에 대한 이러한 호출 사이에 새 프로세스의 구성을 변경할 수 있습니다 start().

-------------------

새로운 프로세스를 만드는 방법을 알고 계신 것 같습니다. 그렇지 않은 경우 여기 또는 여기를 참조 하십시오 .

이제 java.exe현재 클래스 경로 로 실행해야합니다 . 이 클래스 경로는 시스템 속성에서 찾을 수 있습니다 java.class.path. 위치를 찾으려면 java.exe을 참조하십시오 new File( System.getProperty("java.home"), "bin").

이 접근 방식에 문제가있는 경우 래퍼 스크립트를 작성하고 충분한 인수로 호출하여 코드 main()가 호출 할 실제 클래스를 결정할 수 있도록하는 것이 좋습니다 .

-------------------

내 권장 사항은 zt-exec를 살펴 보는 것입니다 : https://github.com/zeroturnaround/zt-exec

java.lang.ProcessBuilder와 Apache Commons Exec을 래핑하고 프로세스 라이프 사이클을 쉽게 관리 할 수 ​​있습니다.



출처
https://stackoverflow.com/questions/2006035