使用 IOCP - C++ - Windows 检测子进程的退出/失败
Posted
技术标签:
【中文标题】使用 IOCP - C++ - Windows 检测子进程的退出/失败【英文标题】:Detecting exit/failure of child processes using IOCP - C++ - Windows 【发布时间】:2013-07-18 13:29:55 【问题描述】:我有一个流程管理器。它可能会使用 createprocess 函数创建数千个(在纸上!)子进程。目前我正在使用多线程和 WiatForMultipleObejct 来检测任何孩子的退出或失败。 如果可能的话,我正在寻找一些建议/指南/伪代码/链接来使用 IOCP 检测子进程的退出!?
非常感谢!
【问题讨论】:
【参考方案1】:是的,这是可能的。
您需要查看Job Object API。具体来说,您创建流程,将其分配给作业,然后将作业与完成端口相关联。见JOBOBJECT_ASSOCIATE_COMPLETION_PORT和SetInformationJobObject()
【讨论】:
谢谢,我找到了解决方案。这是一个老问题!不过谢谢。解决方案与您的建议类似。以上是关于使用 IOCP - C++ - Windows 检测子进程的退出/失败的主要内容,如果未能解决你的问题,请参考以下文章
[杂烩]Windows IOCP与Linux的epoll机制对比