What is the Java equivalent of Python's subpro

2019-04-01 05:03发布

问题:

import subprocess
import os

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

回答1:

Your can try with the Runtime.exec method.

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

The method returns a Process that can be used to:

  • Retrieve the process output, input and error streams
  • Retrieve the process output code
  • Kill the process
  • Wait for the end of the process execution


回答2:

It's not clear what you're asking, but if you're looking for the Java equivalent of Popen(), you want Runtime.exec().



回答3:

Use ProcessBuilder e.g.

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