Search code examples
processoperating-system

Save a process' memory for later use?


Is it possible to pause a process, save the memory contents to a file, and then later reload the file so you can continue the program?

Edit I've been reading about this:

http://en.wikipedia.org/wiki/Setcontext

Is it possible to dump the contents of the struct, and somehow force malloc to allocate the same memory regions?


Solution

  • Technically it is possible, but it would require saving all the system-allocated resources state too - like file descriptors for example and then restoring them. So it's a challenging task.

    The easiest way to achieve what you want is to use a virtual machine like VMWare. When you pause it you actually save the whole machine state together with all programs running.