Mac 打开一个新终端和 运行 一个带参数的脚本 JAVA

Mac open a new terminal and run a script with parameter in JAVA

所以我想在 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@ "source /etc/profile; appium serverArgs "

所以这没有问题,但是一旦 java 程序结束,它就会关闭服务器。所以我的解决方法是打开一个新终端并在那里启动脚本。像 :

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

但它不起作用。我如何打开一个新终端,启动我的脚本并将参数传递给它? (所以在我的 java 程序结束时它不会关闭)

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