代码之家  ›  专栏  ›  技术社区  ›  Jbeat

Mac打开一个新终端,并在JAVA中使用参数运行脚本

  •  0
  • Jbeat  · 技术社区  · 9 年前

    因此,我想使用java中的ProcessBuilder在VM上启动脚本。该脚本启动了一个appium服务器,我希望它在java程序结束后仍保持打开状态。所以我有这样的想法:

    String[] command = {"/bin/sh", currentDirectory + "/Script/launchVM_Node/" + launchAppiumServer.sh, IPADRESS }; 
    
     ProcessBuilder   ps =new ProcessBuilder(command);
     ps.start();
    

    启动AppiumServer。页码:

    ssh username@$1 "source /etc/profile; appium serverArgs "
    

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

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

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

    1 回复  |  直到 9 年前
        1
  •  0
  •   Leo Adberg    9 年前

    ; bash 到脚本末尾。这基本上告诉终端在末尾打开一个新的bash shell,它将一直打开,直到您手动关闭它。