0

私のコードはこちら

public void addImg(){
    try{
        //Attempt 1
        Runtime r = Runtime.getRuntime();
        Process p = r.exec("/usr/bin/python2.7 ../wc.py");
        p.waitFor();
        p.destroy();

        //Attempt 2
        p = r.exec("python2.7 ../wc.py");
        p.waitFor();
        p.destroy();
    }catch (Exception e){
        String cause = e.getMessage();
        System.out.print(cause);
    }
}

これを約 1 時間動作させようとしましたが、何も動作していないように見え、エラーも表示されません。私はこれをどのようにデバッグするかについてもっと心配していますが、このスクリプトが実行されていない理由を示す私のコードに問題はありますか?

4

3 に答える 3

0

例外をキャッチするだけでなく、コマンドを実行して返された結果を確認する必要があります。

ProcessオブジェクトexitValue()の出力ストリームとエラー ストリームを取得するには、 メソッドと メソッドを参照してください。

私の推測では、../ はシェルによって解決され、exec を使用して起動されたプログラムはシェルから実行されないため、python はプログラムを見つけることができません。

于 2013-10-14T17:15:15.450 に答える