-1

Mac OS X Lionで実行している場合、コマンドラインのスクリプトを使用してリモートサーバーからファイルを取得する必要があります。コードで使用しようとしているコマンドは「bash/my / path / here / myscript」で、次のコードを使用してコマンドライン(atos)から別のプロセスを実行しています。

Process proc = Runtime.getRuntime().exec(cmd);

ただし、デバッグ中、プログラムはエラーなしで続行されますが、スクリプトは実際に実行されたように見えます。さらに、スクリプトがファイルを取得している間、数秒の休止が必要ですが、私のプログラムはすぐに実行を続けます。スクリプト自体は、ターミナルから実行すると意図したとおりに機能します。これを機能させる方法に少し困惑しているので、助けていただければ幸いです。

4

1 に答える 1

1

次のコードで動作するようになりました-

Process proc = Runtime.getRuntime().exec(cmd);
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
proc.waitFor();

while (in.ready()) {
    System.out.println(in.readLine());
}

もう 1 つの問題は、スクリプトが (意図したとおり) スクリプト自体の場所ではなく、現在の作業ディレクトリにダウンロードされることです。したがって、私のプログラムがダウンロードされたファイルを見つけられない間、スクリプトは正しく実行されます。お役に立てれば。

于 2012-05-23T16:22:52.830 に答える