Java子进程 —(一)

import java.io.IOException;

/**
 * @author Sandy
 * @version ProcessDemo.java, v 0.1 2018-04-18 下午7:37
 */

public class ProcessDemo {

    public static void main(String[] args) throws IOException, InterruptedException {

        Runtime runtime = Runtime.getRuntime();

        //新启动一个子进程
        Process process = runtime.exec("pwd");
        //子进程向主进程输入信息
        process.getInputStream();
        //主进程向子进程输出信息
        process.getOutputStream();
        //获取子进程的错误流
        process.getErrorStream();
        //等待子进程执行完
        process.waitFor();
        //销毁子进程
        process.destroy();
        //获取子进程的退出状态
        process.exitValue();

    }

}

子进程的输入\输出缓冲区大小有限制,要及时取走子进程的输出信息和错误信息。否则很可能因为信息太多导致被填满,最终导致子进程阻塞。
详见:https://www.jianshu.com/p/c5da92633612

你可能感兴趣的:(Java子进程 —(一))