【问题标题】:Forking children in C and re-forking when they die在 C 中分叉孩子并在他们死时重新分叉
【发布时间】:2015-05-29 21:22:03
【问题描述】:

我有一些代码分叉了许多子“工人”。童工:(

这工作得很好,直到孩子因一些不可预测的错误而死亡并且系统吞吐量下降。

什么是监控孩子崩溃的好模式,然后用我解雇他们的相同参数重新分叉他们?我以前没有写过这种类型的代码,看起来有点棘手。

【问题讨论】:

  • 哪一部分比较棘手?

标签: c++ c multiprocessing ipc daemon


【解决方案1】:

假设类Unix系统,可以在父进程中使用waitwaitpid同步监控子进程。或者,您可以使用SIGCHLD 异步监控它们,并在信号处理程序中调用waitwaitpid。每当子进程终止(包括崩溃)时,您都会收到通知。

要在崩溃时使用相同参数重新分叉一个子节点,您必须记录每个子节点的参数。

【讨论】:

    猜你喜欢
    • 2013-08-08
    • 2012-01-03
    • 1970-01-01
    • 2011-12-13
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    相关资源
    最近更新 更多