什么是Python的subprocess.Popen()的Java等价物?

时间:2010-09-15 11:04:48

标签: java python subprocess

import subprocess
import os

prefix = os.path.expanduser("~/.bin/kb/")
p = subprocess.Popen([(prefix + "koreball"),(prefix + "/data"),'3'])

3 个答案:

答案 0 :(得分:5)

您可以尝试使用Runtime.exec方法。

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("myprocess");

该方法返回Process,可用于:

  • 检索流程输出,输入和错误流
  • 检索流程输出代码
  • 终止这个过程
  • 等待流程执行结束

答案 1 :(得分:2)

目前尚不清楚您在问什么,但如果您正在寻找与Popen()相当的Java,那么您需要Runtime.exec()

答案 2 :(得分:1)

使用ProcessBuilder例如

static void SimpleProcess() throws IOException, InterruptedException {

    ProcessBuilder pb = new ProcessBuilder("ls", ".")
            .inheritIO();

    Process p = pb.start();

    int retval = p.waitFor();
    System.out.println("exited with code "  + retval);
}