所以我想在java中使用ProcessBuilder在VM上启动脚本。该脚本启动了一个appium服务器,我希望它在java程序结束后保持打开状态。所以我有这样的事情:
String[] command = {"/bin/sh", currentDirectory + "/Script/launchVM_Node/" + launchAppiumServer.sh, IPADRESS };
ProcessBuilder ps =new ProcessBuilder(command);
ps.start();
launchAppiumServer.sh:
ssh username@$1 "source /etc/profile; appium serverArgs "
所以这没有问题,但是一旦java程序结束,它就会关闭服务器。所以我的解决方法是打开一个新终端并在那里启动脚本。类似的东西:
String[] command = {"open -b com.apple.terminal", currentDirectory + "/Script/launchVM_Node/" + launchAppiumServer.sh, IPADRESS };
但它没有用。如何打开新终端,启动我的脚本并将参数传递给它? (所以在我的java程序结束时它不会结束)
答案 0 :(得分:0)
尝试将; bash
添加到脚本的末尾。这基本上告诉终端在末尾打开一个新的bash shell,它会一直打开,直到你手动关闭它。