使用 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 检测子进程的退出/失败的主要内容,如果未能解决你的问题,请参考以下文章

Mono 和 C# IOCP:这是个好主意吗?

[杂烩]Windows IOCP与Linux的epoll机制对比

Windows完成端口 IOCP模型

DIOCP DIOCP常见问题。

IOCPT/IOCP - 它只存在于 Windows 中吗? [复制]

Windows完成端口 IOCP模型