在C中分叉儿童并在他们死亡时重新分叉

时间:2015-03-25 23:45:42

标签: c++ c multiprocessing ipc daemon

我有一些代码可以解雇一些孩子"工人"。童工:(

由于一些不可预测的错误导致孩子死亡,并且系统吞吐量降低,这非常有效。

什么是监控孩子们崩溃的良好模式,然后用相同的params重新分叉它们我用它们开火了?我之前没有写过这种类型的代码,看起来有点棘手。

1 个答案:

答案 0 :(得分:2)

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

要在碰撞时使用相同参数重新分叉,您必须记录每个孩子的参数。