2010-08-04 4 views
1

다른 jar 파일이나 java 클래스를 사용하여 jar 파일을 시작하고 중지하고 싶습니다. 내가이 명령을 사용하여 jar 파일을 시작할 수 있어요 :다른 jar 파일을 사용하여 jar 파일을 시작하고 중지하려면 어떻게합니까?

Runtime run=Runtime.getRuntime(); 
Process process=run.exec("java -jar setvalue.jar"); 

과정은 시작과 잘 작동된다. 하지만 다른 Java 클래스/jar 파일에서이 프로세스를 닫을 수있는 방법이 없습니다. setvalue.jar 파일을 백그라운드 프로세스로 실행하려고합니다. 다른 Java 파일 및 jar 파일을 사용하여 시작 및 중지 할 수 있습니다.

어떻게 할 수 있습니까?

답변

0

하나의 옵션이 setvalue.jar에 있습니다. 프로그램은 while (true) 루프에서 실행되는 스레드를 작성하여 특정 위치의 파일을 계속 찾고 스레드가 해당 파일을 찾을 때마다 System.exit을 호출하여 현재 JVM을 종료합니다. . 그 프로그램을 끝내고 싶을 때, 리눅스에서 생성하기 위해 "touch"를 사용하는 다른 자바 프로그램으로 그 파일을 생성하십시오.

0

당신은 그것을 만든 클래스에서 프로세스를 중지 할 수 있습니다

Runtime run=Runtime.getRuntime(); 
Process process=run.exec("java -jar setvalue.jar"); 

// Do stuff 

process.destroy(); 

가 나는 자바를 사용하여 독립적 인 프로세스를 중지하려고하기 쉬운 (또는 추천) 생각하지 않습니다. 그러나 UNIX 기반 시스템을 사용하는 경우 Runtime 개체를 사용하여 ps 명령을 실행하여 프로세스를 찾은 다음 kill 명령을 실행할 수 있습니다.

+0

을뿐만 아니라 리눅스와 엄마를 위해 작동합니까? – DavidB

1

당신은 당신이 사용할 수있는 배경에서 두 번째 jar 파일을 시작하고자하는 경우 :이 Windows 용 작동 알고

Process process=run.exec("nohup java -jar setvalue.jar &") 
관련 문제