2016-09-16 3 views
0

java에서 ProcessBuilder를 사용하여 VM에서 스크립트를 시작하겠습니다. 이 스크립트는 appium 서버를 시작하고 Java 프로그램이 끝난 후에도 열려 있기를 원합니다.Mac에서 새 터미널을 열고 JAVA의 매개 변수가있는 스크립트를 실행하십시오.

String[] command = {"/bin/sh", currentDirectory + "/Script/launchVM_Node/" + launchAppiumServer.sh, IPADRESS }; 

ProcessBuilder ps =new ProcessBuilder(command); 
ps.start(); 

launchAppiumServer.sh : 그래서 내가 이런 걸 가지고

ssh [email protected]$1 "source /etc/profile; appium serverArgs " 

그래서이 문제를 작동하지 않습니다,하지만 곧 자바 프로그램 종료로, 서버를 닫습니다. 그래서 해결 방법은 새 터미널을 열고 거기에 스크립트를 시작하는 것입니다. 예 :

String[] command = {"open -b com.apple.terminal", currentDirectory + "/Script/launchVM_Node/" + launchAppiumServer.sh, IPADRESS }; 

하지만 작동하지 않습니다. 새 터미널을 열고 스크립트를 시작하고 매개 변수를 전달하려면 어떻게해야합니까? (그래서 내 Java 프로그램의 끝에서 닫히지 않을 것입니다)

답변

0

스크립트 끝 부분에 ; bash을 추가하십시오. 이것은 기본적으로 터미널에 새로운 bash 셸을 여는 것을 알려주며, 수동으로 닫을 때까지 열려 있습니다.

관련 문제