不知道加一些限定条件会不会让这个事情变得容易:
首先程序是用 C 写的,而且只用到了 C 的标准库。
其次没有多线程和进程间通信。
其实就是想应付一下偶然的停电,毕竟把程序里所有变量输出再读入的方法太闹心了
首先程序是用 C 写的,而且只用到了 C 的标准库。
其次没有多线程和进程间通信。
其实就是想应付一下偶然的停电,毕竟把程序里所有变量输出再读入的方法太闹心了
|
OrzzzzOct 20, 2015
1
你说的是休眠吗?
|
|
zhichengOct 20, 2015
2
UPS
|
|
little_cupOct 20, 2015
5
简单粗暴的办法应该是虚拟机快照吧。
|
|
skydiverOct 20, 2015 via Android
7
docker
|
|
mikaleOct 20, 2015
8
设计一个数据结构,然后开一个线程,时不时 flush 到硬盘上,启动程序的时候,从这个硬盘读取文件到内存。这是最简单的数据库运用的机制。
|
|
owwloOct 20, 2015
9
|
|
chinvoOct 20, 2015
10
docker 或者其他虚拟化技术
|
|
12
|
|
onlyxuyangOct 29, 2015
13
能想到的只有虚拟机快照... -_-...
|
|
Arthur2e5Nov 2, 2015
14
https://stackoverflow.com/questions/192838/can-you-freeze-a-c-c-process-and-continue-it-on-a-different-host 有讨论。其中提到了一点,也就是 core 的信息常常是不够的。不过看你这么说,感觉还是可以 `./heavy_computation & gcore -o core $!` 试试,到时候 `gdb` 挂上再看看能不能 `continue` 吧。
前面提到的 CRIU 看网页好像是个好主意。 |