Как выполнить команду с параметрами? - PullRequest
23 голосов
/ 21 августа 2011

Как мне выполнить команду в 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 не указан.

Ответы [ 3 ]

23 голосов
/ 21 августа 2011

Проверьте, работает ли это (извините, не могу проверить это прямо сейчас)

Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php", "-m", "2"});
22 голосов
/ 21 августа 2011

Используйте ProcessBuilder вместо Runtime#exec().

ProcessBuilder pb = new ProcessBuilder("php", "/var/www/script.php", "-m 2");
Process p = pb.start();
1 голос
/ 21 августа 2011

Следующее должно работать нормально.

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