Is there a way in C/C++ to copy an entire process' runtime space into a data blob?
Basically I want to be able to suspend a process sort of like what happens when a computer is hibernated. The registers, memory space (stack and heap) are all written to disk and reloaded when the computer starts back up.
Is there anyway to dump a process in C/C++ (why not C# while we're at it) that would allow it to be loaded back up and continue execution (assuming it's a VERY simple program), or would this require running as kernel or low level assembly to accomplish?