2011-08-20 6 views
21

パラメータを使用してJavaでコマンドを実行する方法は?パラメータでコマンドを実行する方法は?

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

Does not work。

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

"m"パラメータが指定されていないため、これも機能しません。

答えて

19

これが動作するかどうか

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

以下は正常に動作するはずです。

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

利用ProcessBuilderの代わりRuntime#exec()

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

ところで、テストされていない(すみません、今それをテストすることはできません)を参照してください。 –

+1

ProcessBuilderについて知りませんでした。共有してくれてありがとう。 –

+1

それが動作しない場合、 '新しいProcessBuilder(" php "、" /var/www/script.php "、" -m "、" 2 ");' –

関連する問題