I usually work with a lot of instances of visual studio open to different projects, I was wondering if there is a way to snapshot/hibernate a running process to disk instead of closing it so that I can open it in the same state as it was quickly.

I have a ton of free disk space so wouldn't mind saving the entire process snapshot if it would save me the time in opening up the solution and waiting for the projects to load.

link|improve this question
+1: Interesting idea! (Of course this is exactly what the virtual memory manager is trying to do for you automatically as and when required.) – Andy Jun 11 '10 at 15:24
1  
FWIW, something like this ("unexec", based on a core dump) is traditionally part of the build process for Emacs on UNIX systems. See, for example, xemacs.org/Architecting-XEmacs/unexec.html – coneslayer Jun 11 '10 at 15:31
That was specifically designed for emacs no? I wonder if a general purpose version could be written. – Andy Jun 11 '10 at 15:47
I have been searching for something like this for quite some time now. It would especially help if you wanted to pause a video encoder! – Breakthrough Jun 11 '10 at 17:31
1  
It seems like there is something like this for Linux linux.org/apps/AppId_2488.html However I think the problem is going to be open file handles, network sockets etc., which make this a non-trivial problem – Sijin Jun 11 '10 at 17:52
feedback

3 Answers

I do this using VirtualBox from Sun for separating projects. It's also handy because you can take snapshots.

The drawback is you need to put an entire OS on there.

link|improve this answer
1  
Yeah - I use VirtualBox for OS level snapshots, that's where i got the idea for an application level snapshot. It seems like there is something like this for Linux linux.org/apps/AppId_2488.html However I think the problem is going to be open file handles and such, which make this a non-trivial problem. – Sijin Jun 11 '10 at 17:51
feedback

You can use WinDbg (Microsoft tool) to create a dump of the current state of a windows machine. Usually this is used to analyse problems, but maybe it could serve your needs as well. Search for keywords WinDbg and dump for further information, maybe there is even an option to dump only single processes.

link|improve this answer
feedback

ProcessExplorer from MS Sysinternals let you Suspend a process. does this help / do the job ?

link|improve this answer
1  
Unfortunately not... I wanted to take the process out of memory in order to free it up, not simply pause the application. Although this IS a very useful program for CPU intensive applications that you may need to pause! – Breakthrough Aug 8 '10 at 15:39
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.