在 C 中分叉 children 并在它们死亡时分叉 re-forking
Forking children in C and re-forking when they die
我有一些代码分叉了许多 child "workers"。 Child劳动:(
在 child 由于一些不可预测的错误和系统吞吐量下降而死之前,这工作得很好。
什么是监控 children 崩溃的好模式,然后 re-forking 使用我启动它们时使用的相同参数?我以前没有写过这种类型的代码,看起来有点棘手。
假设是Unix-like系统,可以在parent中使用wait
或waitpid
来同步监控子进程。或者,您可以使用 SIGCHLD
异步监视它们,并在信号处理程序中调用 wait
或 waitpid
。每当子进程终止(包括崩溃)时,您都会收到通知。
为了re-fork一个child当它崩溃时参数相同,你必须记录每个child的参数。
我有一些代码分叉了许多 child "workers"。 Child劳动:(
在 child 由于一些不可预测的错误和系统吞吐量下降而死之前,这工作得很好。
什么是监控 children 崩溃的好模式,然后 re-forking 使用我启动它们时使用的相同参数?我以前没有写过这种类型的代码,看起来有点棘手。
假设是Unix-like系统,可以在parent中使用wait
或waitpid
来同步监控子进程。或者,您可以使用 SIGCHLD
异步监视它们,并在信号处理程序中调用 wait
或 waitpid
。每当子进程终止(包括崩溃)时,您都会收到通知。
为了re-fork一个child当它崩溃时参数相同,你必须记录每个child的参数。