2017-03-07 54 views
0

我正在寻找解决方案来从RAM中拯救数据。 我的程序终止时出现错误,数据仍然应该在内存中。 我可以访问它以保存它吗?如何从RAM中拯救数据?

我正在使用python和Raspberry Pi 3.我的程序从网上抓取数据并将其存储在csv文件中。所有数据都被刮掉,但是在写入之前程序崩溃了。再次执行程序不是一个选项。

我从控制台调用它跑了PROGRAMM,错误出现和控制台正在等待我的下一个输入:

[email protected]: python3 program.py 
"Error-message" 
[email protected]: 

里面program.py我的数据存储在一个列表“DATA_LIST”。

我该如何检索这个列表?

编辑:

再次执行程序是不是一种选择,因为它花了约12h完成。所刮取的数据将被用来对第二个程序的运行时间进行有根据的猜测。到时候刮完了这个猜测是无关紧要的。

+0

当程序终止时,操作系统是否执行了核心转储? – paddy

+0

你真的不能做到这一点,至少不是来自python。假设数据仍然在内存中假设太多。 – Netwave

+2

您可能无法做到这一点...为什么再次运行脚本(修复后)“不是一个选项”? – Chris

回答

0

从理论上讲,您可以开始读取内存地址,直到您终于看到类似于CSV字符串的内容为止。但是这些数据很可能会被分割。

你不能在python中做到这一点,你需要C或C++,这需要花时间写。

在练习,当我发布这个答案时,您的程序使用的页面被其他东西覆盖的可能性很高。同样由于进程隔离,您甚至可能无法读取所有内存。