虚拟机可以把虚拟机当前状态冻结,并且保存在磁盘上。用的时候开机恢复 还能继续工作 环境都还在。那么不用虚拟机的情况下。能不能把某个进程冻结了?不知有没有大手子研究过。来讨论一下
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
可以让进程冻结休眠,但是无法保存在磁盘上再恢复,除非操作系统支持。进程完整性不止内存数据和线程信息,更有各种资源句柄,比如原来程序打开了文件,恢复的进程如何才能继承原有文件句柄?所以,无法做到,只能SuspendThread ResumeThread所有线程让进程休眠,无法做到保存文件恢复。
可能的方式是,程序需要一直存在,但可以在休眠的时候压缩内存占用,恢复的时候再从磁盘加载内存,但无法做到进程消失再恢复。
除非写驱动去支持内核资源对接,让程序冻结退出的时候不关闭进程的内核资源,进程恢复的时候改变资源到新进程。