web-dev-qa-db-ja.com

パラメータを指定してコマンドを実行する方法は?

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パラメータが指定されていないため、これも機能しません。

26
Alex

これが機能するかどうかを確認してください(申し訳ありませんが、現在テストできません)

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

Runtime#exec()の代わりに ProcessBuilder を使用します。

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

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

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