问题
How am I to execute a command in Java with parameters?
I\'ve tried
Process p = Runtime.getRuntime().exec(new String[]{\"php\",\"/var/www/script.php -m 2\"});
which doesn\'t work.
String[] options = new String[]{\"option1\", \"option2\"};
Runtime.getRuntime().exec(\"command\", options);
This doesn\'t work as well, because the m parameter is not specified.
回答1:
See if this works (sorry can't test it right now)
Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php", "-m", "2"});
回答2:
Use ProcessBuilder instead of Runtime#exec().
ProcessBuilder pb = new ProcessBuilder("php", "/var/www/script.php", "-m 2");
Process p = pb.start();
回答3:
The following should work fine.
Process p = Runtime.getRuntime().exec("php /var/www/script.php -m 2");
来源:https://stackoverflow.com/questions/7134486/how-to-execute-command-with-parameters