0

次のコマンドを使用して、Bash ターミナル経由でスクリプトを実行できることを知っています。

ssh -n -f user@host "sh -c 'nohup /path/to/file/test.sh > /path/to/file/test.out 2>&1 &'"

次の Java コマンドを使用してこの同じコマンドを実行すると、次のようになります。

Runtime.getRuntime().exec( "comand" ).waitFor();

うまくいきません。これをテストするために、「hello world」を出力して「test.out」ファイルに出力する単純な .sh スクリプトを実行しています。実行時エラーは発生しません。その出力が表示されないだけです。

注:「コマンド」領域に「\」エスケープ文字を正しく配置しました。

Javaを使用してこれを行うにはどうすればよいですか?

4

1 に答える 1

0

コマンドを実行するシェルへのパスを渡す必要があると思います。そして、さまざまな部分を明確に分離して、メソッドの他のオーバーロードされたバージョンを試すことができます。

Java ランタイム API

ランタイムの例

于 2013-03-29T07:34:12.010 に答える