Java中与Python的subprocess.Popen()等效的是什么?

4
import subprocess
import os

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

6
您可以尝试使用Runtime.exec方法。
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("myprocess");

该方法返回一个Process对象,可用于以下操作:
  • 获取进程输出、输入和错误流
  • 获取进程输出码
  • 终止进程
  • 等待进程执行结束

Python版本是否因操作系统fork而遇到与Java相同的内存问题? - Sanketh

2

不确定您的问题是什么,但如果您正在寻找Java中与Popen()相当的功能,请使用Runtime.exec()


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);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接