用于Windows的SIGCHLDreplace【JAVA教程】

!
也想出现在这里? 联系我们
信息

用于Windows的SIGCHLDreplace,第1张

概述用于Windows的SIGCHLDreplace

我希望在windows上有SIGCHLDfunction(即,在孩子死亡时通知父进程)。 我知道在windows API中没有与SIGCHLD等价的东西,但是我想知道在windows中实现这个方法的常用方法。 我相信这是windows开发人员经常碰到的一个问题。

现在我想到的唯一解决办法就是轮询孩子,看他们是否还活着。

注:我的应用程序是单线程的,如果可能的话,我想保持这种方式。 该应用程序有一个非阻塞事件循环(使用select())。

CRITICAL_SECTION并避免包括windows.h?

如何以编程方式跟随.lnk文件

在处理与第二级ADT融合的第一级ADT时,“错误:未知types名称…”。

检查第二个显示器是否以.NET连接(双显示器设置,笔记本电脑和扩展坞)

无法保存具有variables名称的位图图像

Visual Studio应用程序在发布之前工作,而不是发布之后

当应用程序运行时,C#检查新的应用程序项目

AndroID NDK套接字连接问题

在windows中区分cmd行参数和拖动图标参数的方法?

是依靠一个windows手柄的types是一个指针好吗?

我不知道这是不是最好的方法,但这当然是一种方法。

我假设你正在用CreateProcess创建这个进程。 这将返回包含成员hProcess的PROCESS_informatION结构。 这是您创建的子进程的句柄。

从这里,你可以用WaitOnSingleObject等待这个句柄, WaitOnSingleObject将阻塞,直到给定的句柄被发信号(尽管如果你想要做这个非阻塞, )。

如果你走多线程的路线,那么你可以等待一个单独的线程,然后当WaitOnSingleObject传递,你可以相应地通知父进程中的工作线程。

在单线程风格中,如果使用select风格的语义,您只需在循环中轮询句柄。

如果你有几个子对象要等待(因为你已经使用了select),你可能要考虑WaitForMultipleObjects – 如果这是你的代码的相关模型。

如果您自己产生这些子进程,则可以使用Job对象 ,当作为工作一部分的进程已经结束时,他们可以通知您。

使用JobObjectAssociateCompletionPortinformation并捕获JOB_OBJECT_MSG_ABnorMAL_EXIT_PROCESS或JOB_OBJECT_MSG_EXIT_PROCESS 。

总结

以上是内存溢出为你收集整理的用于Windows的SIGCHLDreplace全部内容,希望文章能够帮你解决用于Windows的SIGCHLDreplace所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞165 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容