首页 > 其他分享 >非常有用的一个类Process

非常有用的一个类Process

时间:2023-09-07 12:33:30浏览次数:28  
标签:非常 输出 Process abstract 有用 进程 public 输入


java.lang
类 Process


java.lang.Object


java.lang.Process


public abstract class Process extends Object

ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。

创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microsoft Windows 上的 Win16/DOS 进程,或者 shell 脚本。创建的子进程没有自己的终端或控制台。它的所有标准 io(即 stdin,stdout,stderr)操作都将通过三个流 (getOutputStream()getInputStream()getErrorStream()) 重定向到父进程。父进程使用这些流来提供到子进程的输入和获得从子进程的输出。因为有些本机平台仅针对标准输入和输出流提供有限的缓冲区大小,如果读写子进程的输出流或输入流迅速出现失败,则可能导致子进程阻塞,甚至产生死锁。

当没有 Process 对象的更多引用时,不是删掉子进程,而是继续异步执行子进程。

对于带有 Process 对象的 Java 进程,没有必要异步或并发执行由 Process 对象表示的进程。

 

 

从以下版本开始:

JDK1.0 另请参见:

ProcessBuilder, Runtime.exec(String[], String[], File)


构造方法摘要

Process()

           

 


方法摘要

abstract  void

destroy()

          杀掉子进程。

abstract  int

exitValue()

          返回子进程的出口值。

abstract  InputStream

getErrorStream()

          获得子进程的错误流。

abstract  InputStream

getInputStream()

          获得子进程的输入流。

abstract  OutputStream

getOutputStream()

          获得子进程的输出流。

abstract  int

waitFor()

          导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。

 


从类 java.lang.Object 继承的方法

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造方法详细信息


Process


public Process()


方法详细信息

getOutputStream


public abstract OutputStream getOutputStream()

获得子进程的输出流。输出流被传送给由该

Process 对象表示的进程的标准输入流。

实现注意事项:对输出流进行缓冲是一个好主意。

 


返回:

连接到子进程正常输入的输出流。


getInputStream


public abstract InputStream getInputStream()

获得子进程的输入流。输入流获得由该

Process 对象表示的进程的标准输出流。

实现注意事项:对输入流进行缓冲是一个好主意。

 


返回:

连接到子进程正常输出的输入流。 另请参见:

ProcessBuilder.redirectErrorStream()


getErrorStream


public abstract InputStream getErrorStream()

获得子进程的错误流。错误流获得由该

Process 对象表示的进程的错误输出流传送的数据。

实现注意事项:对输入流进行缓冲是一个好主意。

 


返回:

连接到子进程错误流的输入流。 另请参见:

ProcessBuilder.redirectErrorStream()


waitFor


public abstract int waitFor() throws InterruptedException

导致当前线程等待,如果必要,一直要等到由该

Process 对象表示的进程已经终止。如果已终止该子进程,此方法立即返回。如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程。

 


返回:

进程的出口值。根据惯例, 0 表示正常终止。

抛出:

InterruptedException - 如果当前线程在等待时被另一线程 中断,则停止等待,抛出 InterruptedException


exitValue


public abstract int exitValue()


 


返回:

Process 对象表示的子进程的出口值。根据惯例,值 0 表示正常终止。

抛出:

IllegalThreadStateException - 如果此 Process 对象表示的子进程尚未终止。


destroy


public abstract void destroy()

杀掉子进程。强制终止此

Process 对象表示的子进程。

标签:非常,输出,Process,abstract,有用,进程,public,输入
From: https://blog.51cto.com/u_2544485/7395930

相关文章

  • Unity 编辑器资源导入处理函数 OnPostprocessTexture :深入解析与实用案例
    Unity编辑器资源导入处理函数OnPostprocessTexture用法点击封面跳转下载页面简介在Unity中,我们可以使用编辑器资源导入处理函数(OnPostprocessTexture)来自定义处理纹理资源的导入过程。这个函数是继承自AssetPostprocessor类的,通过重写这个函数,我们可以在纹理资源导入完成......
  • 数字信号处理 Digital Signal Processing
    通信、控制和信号处理导论IntroductionToCommunication,Control,AndSignalProcessing6.011|Spring2010|Undergraduate(本科生)课程描述本课程将信号、系统和推理作为通信、控制和信号处理的统一主题进行研究。课题包括由确定性和随机信号驱动的线性系统的输入输出和......
  • Java中使用ProcessBuilder执行命令
    在Java中我们可以使用ProcessBuilder来创建一个进程并执行命令。在使用前我们首先了了解下两个程序。一、认识命令行解释程序不论在windows中还是linux中都可以通过命令行方式来执行某些程序或脚本,而解析命令行的程序被称为shell,其本身是一种命令行解释器,用于与操作系统进行交互和......
  • 解决Ubuntu 安装出现E: Sub-process /usr/bin/dpkg returned an error code (1)异常(轮
     cd/var/lib/dpkg/sudomvinfo/info.bak#现将info文件夹更名sudomkdirinfo#再新建一个新的info文件夹sudoapt-getupdate#更新sudoapt-get-finstall#修复sudomvinfo/*info.bak/#执行完上一步......
  • flask + gevent + multiprocess + wsgi实现高并发接口
    Flask+多进程+协程了。8核虚拟机最高QPS高达1W5。使用的时候务必注意一下“”“进程“”“安全就行了。参考代码如下,Flaskgevent多进程WSGI(非gunicorn)#coding:utf-8#codebyhttps://cpp.la,2020-04-20#flask+gevent+multiprocess+wsgifromflaskimpo......
  • 两张动图-彻底明白TCP的三次握手与四次挥手(有用***)
    两张动图-彻底明白TCP的三次握手与四次挥手 原文链接:https://blog.csdn.net/qzcsu/article/details/72861891 背景描述通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的......
  • Spring3中替换默认拦截器的方法BeanFactoryPostProcessor
    由于Spring默认的静态资源处理器不能满足需求,需要做一些自己的处理,但mvc:resources的标签又挺好用的,不想每次配置静态资源目录的时候,还要特殊指定处理器,也不想修改任何配置代码,于是找到了使用BeanFactoryPostProcessor的方法 实现代码如下:importorg.springframework.beans.Beans......
  • ChatGPT到底有用没用?—— 个人观点:有用,但不多
    今天接到在大连某高校任职的师弟电话,师弟十分喜欢用ChatGPT,尤其是其文字自动生成的功能,这对于我们这种文字工作者来说简直就是“福音”,但是我对这个观点却是有所保留。当年区块链火的时候很多搞技术的都入坑了,但是我却觉得这技术发展很有局限,毕竟这东西由一个最不需要这个技术的......
  • SpringBoot启动时:Process finished with exit code 0解决办法
    Processfinishedwithexitcode0并不是报错了,这个表示程序正常执行完毕退出了。这就表示项目启动成功后了,此时运行,最后运行完毕自动退出。但我们是需要访问路径的,所以需要引入webjar包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot......
  • 直播小程序源码有用的协议知识:MQTT协议
    MQTT协议分析:MQTT协议中文全称为消息队列遥测传输协议,是一种实时通信协议,适用于物联网场景中。MQTT协议被应用到直播小程序源码平台中,确保了直播小程序源码平台音视频流的传输高效、低延迟,为直播小程序源码平台实现相关的实时互动功能提供了帮助。MQTT协议在直播小程序源码的多种作......