2016-09-16 7 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 " 

所以这是工作没有问题,但只要Java程序结束时,关闭服务器。所以我的解决方法是打开一个新终端并在那里启动脚本。类似于:

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

但它不工作。我怎样才能打开一个新的终端,启动我的脚本并将参数传递给它? (所以在我的Java程序结束时它不会关闭)

回答

0

尝试将; bash添加到脚本的末尾。这基本上告诉终端在最后打开一个新的bash shell,它将保持打开状态,直到您手动关闭它。

相关问题