完整封装java执行脚本工具——ProcessBuilder

本文介绍了ProcessBuilder类在Java中用于创建和管理操作系统进程的功能。通过ProcessBuilder可以启动并管理进程,其start()方法能重复创建子进程。此外,Process类提供了如destroy()、exitValue()等方法来交互和控制子进程。还展示了如何封装一个工具类及其实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述

概念

ProcessBuilder类用于创建操作系统进程,它提供一种启动和管理进程的方法。每个 ProcessBuilder 实例管理一个进程属性集。它的start() 方法利用这些属性创建一个新的 Process 实例。start() 方法可以从同一实例重复调用,以利用相同的或相关的属性创建新的子进程。

Process抽象类有以下6个抽象方法:

  • destroy()
    杀掉子进程。
  • exitValue()
    返回子进程的出口值。
  • InputStream getErrorStream()
    获得子进程的错误流。
  • InputStream getInputStream()
    获得子进程的输入流。
  • OutputStream getOutputStream()
    获得子进程的输出流。
  • waitFor()
    导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。

java代码实现

封装工具类

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.List;

/**
 * @Author :feiyang
 * @Date :Created in 4:49 PM 2019/9/26
 */
public class ShellUtils {
   
   

    private static ProcessBuilder processBuilder = new ProcessBuilder();

    /**
     * 执行脚本命令
     * @author  feiyang
     * @param commend
     * @return  java.lang.Process
     * @date    2019/9/26
     * @throws
     */
    public static Process exec(List<String> commend) {
   
   
        Process process = null;
        try {
   
   
            String[] commends = new String[commend.size()];
            commend.toArray
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值