gpt4 book ai didi

c++ - 是否可能导致多进程休眠(核心转储?)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:58:07 25 4
gpt4 key购买 nike

我有一个运行几个进程的软件 (c++)(每个进程本身就是一个主要系统)。

进程之间通过xml-rpc或boost asio相互通信

我希望能够在给定时刻卡住或停止所有进程,并能够稍后将系统(所有进程)提升到与休眠前相同的状态。

我如何在 C++ 中做到这一点?

由于进程之间相互通信,是否可行?

最佳答案

总的来说,您需要让系统处于稳定一致的状态,然后以某种可重新创建的形式保持该状态。

原则上你可以写出这样的代码,难易程度取决于你的应用。您将需要弄清楚诸如此类的事情:

  • 流程如何同意它们处于一致状态。您可能需要定义一些新的“准备休眠”和“我准备好”消息。
  • 对于每个流程,您都需要弄清楚如何保持和恢复其状态。取决于任何可能非常棘手的实时数据结构的复杂性。另一方面,如果您的流程是无状态的,那么这可能非常容易。
  • 您需要设计一个方案来管理休眠数据集,以及如何确定跨所有进程的一致集。

我认为这是一项重要的编码工作,难度取决于您的应用程序的复杂性和实现质量。在结构良好的应用程序中,这种主要的“重新铺设”练习通常出奇地简单。

关于c++ - 是否可能导致多进程休眠(核心转储?)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com