首页
社区
课程
招聘
[讨论]进程冻结,保存磁盘上。在需要的时候恢复进程状态
发表于: 2024-10-11 06:38 2716

[讨论]进程冻结,保存磁盘上。在需要的时候恢复进程状态

2024-10-11 06:38
2716

虚拟机可以把虚拟机当前状态冻结,并且保存在磁盘上。用的时候开机恢复 还能继续工作 环境都还在。
那么不用虚拟机的情况下。能不能把某个进程冻结了?
不知有没有大手子研究过。来讨论一下


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (5)
雪    币: 534
活跃值: (1797)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
类似快照的做法
2024-10-11 09:34
1
雪    币: 287
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3

可以让进程冻结休眠,但是无法保存在磁盘上再恢复,除非操作系统支持。

进程完整性不止内存数据和线程信息,更有各种资源句柄,比如原来程序打开了文件,恢复的进程如何才能继承原有文件句柄?所以,无法做到,只能SuspendThread ResumeThread所有线程让进程休眠,无法做到保存文件恢复。


可能的方式是,程序需要一直存在,但可以在休眠的时候压缩内存占用,恢复的时候再从磁盘加载内存,但无法做到进程消失再恢复。


除非写驱动去支持内核资源对接,让程序冻结退出的时候不关闭进程的内核资源,进程恢复的时候改变资源到新进程。



最后于 2024-10-11 09:53 被mb_hgrbqfun编辑 ,原因:
2024-10-11 09:45
1
雪    币: 203
活跃值: (1209)
能力值: ( LV9,RANK:195 )
在线值:
发帖
回帖
粉丝
4
像楼上说的,涉及到资源引用确实不好办。
2024-10-11 17:52
0
雪    币: 147
活跃值: (462)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
确实,如果系统不支持的话很难办。总不能写个虚拟机跑windows吧
2024-11-24 19:30
0
雪    币: 6725
活跃值: (557)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YiW
6
短时间可以,有公司做这样的东西,用于进程在虚机之间的迁移。冻结不行,最简的一个点,tcp timeout了恢复不了
2024-11-25 07:14
0
游客
登录 | 注册 方可回帖
返回
//