2016-12-09 4 views
0

Javaプロセスビルダを使用して、以下に示すように、1つのフラグと1つの引数を持つPythonプロセスを開始します。しかし、私は例外もプロセスが始まるのを見ません。私が実行したいJavaプロセスビルダを使用してPythonプロセスを呼び出す際の問題

コマンドは、ファイルoc_db5.pyの

python oc_db5.py -c input.json 

場所は、私がそのログファイルが含まれている見ることができます私のコードは

processBuilder = new ProcessBuilder(

      Arrays.asList(
        "python", 
        "oc_db5.py", 
        "-c", 
        "input.json")); 

    processBuilder.directory(new File("/opt/jvision/grpc/gui")); 

    processBuilder.start(); 

    logger.info("Process started ..." + new Date()); 

    int count = 0; 
    BufferedReader br = new BufferedReader(new InputStreamReader(
      process.getInputStream())); 

    while ((lineData = br.readLine()) != null) { 

     System.out.println("line: " + ++count + " " + lineData); 
     logger.info("line: " + ++count + " " + lineData); 
    } 
    process.waitFor(); 
    process.getErrorStream(); 
    process.waitFor(); 

    process.exitValue(); 

下に表示され

/opt/jvision/grpc/gui 

ですエントリ "プロセスの開始..."しかし、私は実際にプロセスが開始されて表示されません。私は何が欠けているのだろうか。

答えて

1

あなたのPATHにpythonがあるかどうか確認できますか?私は長年前のカスタムコマンドに似た問題があります。あなたはそれを試して絶対パスを使用することができます:)。 また、あなたが

マップenv = System.getenv()を経由して、変数をenviromental確認することができます。

Linuxを使用している場合、あなたはそれが経由でシステムプロセステーブルに存在しているチェック「スリープ1000」のようなプロセスを開始することができます「のPS補助| grepをスリープ」またはそれのようなもの:)

関連する問題