【发布时间】:2011-06-09 21:12:25
【问题描述】:
我编写了处理大量大型文本文件的 Python 脚本,并且可能会运行 很多时间。有时,需要停止正在运行的脚本并稍后恢复它。停止脚本的可能原因是程序崩溃、磁盘“空间不足”情况或许多其他必须执行的情况。我想为脚本实现一种“停止/恢复”机制。
- 停止:脚本退出并保存其当前状态。
- 恢复:脚本启动,但从最新保存的状态继续
我将使用 pickle 和 signal 模块来实现它。
我很高兴听到如何以 Python 方式进行操作。
谢谢!
【问题讨论】:
-
您可能需要一些外部控制,例如计划任务(或 linux 中的 cron 作业)。另外,在程序停止时,将一些状态信息写入磁盘上的特定文件,以便您的程序知道重新启动时该做什么
-
如果在 *nix 系统上,您可以使用标准的 SIGSTOP 和 SIGCONT 信号,尽管进程将保留在(虚拟)内存中直到继续。