How to execute command with parameters?

2019-01-01 02:47发布

问题:

How to execute command in Java with parameters?

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

Does\'n work.

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

Does\'n work also, because it doesn\'t specify the \"m\" parameter.

回答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\");