您可以冻结C/C ++进程并在其他主机上继续进行吗? [英] Can you freeze a C/C++ process and continue it on a different host?
问题描述
我想知道是否可以生成一个核心"文件,是否将其复制到另一台计算机上,然后继续在该计算机上执行该核心文件?
I was wondering if it is possible to generate a "core" file, copy if to another machine and then continue execution of the a core file on that machine?
我已经看到了gcore实用程序,它将从正在运行的进程中生成一个核心文件.但是我不认为gdb可以基于核心文件继续执行.
I have seen the gcore utility that will make a core file from a running process. But I do not think gdb can continue execution based on a core file.
有什么方法可以转储堆并在以后还原它们?
Is there any way to just dump the heap/stack and and restore those at a later point?
推荐答案
在现代系统上,不是来自核心文件,不是的.要在Linux上冻结和还原单个进程,请 CryoPID 和新的 OpenVZ 和其他类似虚拟化的软件可以冻结和还原整个系统.
On modern systems, not from a core file, no you can't. For freezing and restoring an individual process on Linux, CryoPID and the new Kernel-based checkpoint and restart are in the works, but their abilities are currently quite limited. OpenVZ and other virtualization-like softwares can freeze and restore an entire system.
这篇关于您可以冻结C/C ++进程并在其他主机上继续进行吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!