【问题标题】:In Twisted what's the difference between processExited and processEnded?在 Twisted 中,processExited 和 processEnded 有什么区别?
【发布时间】:2012-04-13 13:14:02
【问题描述】:

正如标题所说,ProcessProtocol 类上的这两个函数有什么区别?关于何时应该使用一个而不是另一个的文档有点稀疏?

最好,我正在寻找一些可以证明这一点的用例示例。

【问题讨论】:

    标签: twisted


    【解决方案1】:

    我想关于这一点的文档有些稀疏。如果不存在此类票证,请随时file a ticket 改进 API 文档。

    processExited 在正式进程管理意义上的进程退出时调用,即调用exit() 或从main() 返回。

    但是,这并不总是您想要的。有时一个进程会产生一个子进程,交出它的标准输入和标准输出,委派负责生成您(在这种情况下是产生的父进程)想要的数据,然后exit()s,因为它已经完成了设置。

    processEnded 在进程退出完成对其托管文件描述符(stdinstdoutchildFDs)的所有 I/O 操作时调用,并且它们'已经关闭。如果您只是为了读取它的输出而生成一些东西,那么这就是您最可能关心的通知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多