【问题标题】:How to execute command with parameters?如何执行带参数的命令?
【发布时间】:2011-10-31 08:38:06
【问题描述】:

如何在 Java 中执行带参数的命令?

我试过了

Process p = Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php -m 2"});

这不起作用。

String[] options = new String[]{"option1", "option2"};
Runtime.getRuntime().exec("command", options);

这也不好用,因为没有指定m 参数。

【问题讨论】:

    标签: java parameters exec runtime.exec


    【解决方案1】:

    看看这是否有效(抱歉,现在无法测试)

    Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php", "-m", "2"});
    

    【讨论】:

    • 这应该提到,为每个命令设置一个String 很重要;参数或值。所以"-m 2" 可能不起作用。这需要是"-m", "2"
    【解决方案2】:

    使用ProcessBuilder 而不是Runtime#exec()

    ProcessBuilder pb = new ProcessBuilder("php", "/var/www/script.php", "-m 2");
    Process p = pb.start();
    

    【讨论】:

    • 如果这不起作用:new ProcessBuilder("php", "/var/www/script.php", "-m", "2");
    【解决方案3】:

    以下应该可以正常工作。

    Process p = Runtime.getRuntime().exec("php /var/www/script.php -m 2");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 2018-05-23
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      相关资源
      最近更新 更多