正如标题所说,ProcessProtocol 类上的这两个函数有什么区别?关于何时应该使用一个而不是另一个的文档有点稀疏?
最好,我正在寻找一些证明这一点的用例示例。
我想在这一点上文档有些稀疏。如果不存在此类票证,请随时提交票证以改进 API 文档。
processExited
在正式流程管理意义上的流程退出时调用,即exit()
从 . 调用或返回main()
。
但是,这并不总是您想要的。有时,一个进程会产生一个子进程,交出它的标准输入和标准输出,委派负责产生您(在这种情况下是产生的父进程)想要的数据,然后exit()
因为它已经完成了设置。
processEnded
当进程退出并完成对其托管文件描述符( 、 和 )的所有 I/Ostdin
并且stdout
它们childFDs
已关闭时调用。如果您只是为了读取它的输出而生成一些东西,那么这就是您最可能关心的通知。