我在macbook air上运行python脚本,处理来自外部API的数据,通常需要几个小时或偶尔几天。
然而,有时我需要在运行脚本的过程中暂停我的笔记本电脑,以便我可以去上班或回家或类似。
如何在for
循环中间暂停/恢复这些脚本?
是否有一些非常简单的东西,我可以在脚本级别添加,只是监听特定的键击以停止/启动?或者我可以在* nix流程管理级别做些什么?
我很清楚Pickle
但我宁愿不处理序列化/反序列化数据的麻烦 - 因为我正在做的就是休眠mac,我希望如果脚本暂停,然后我休眠,OS X将处理将RAM保存到磁盘,然后当我重新打开计算机时恢复到RAM。那时,我可以点击一个简单的按键继续python脚本。
由于我在不同的wifi网络之间切换,因此当我的脚本尝试访问互联网以访问第三方API时,不确定不同的IP是否会导致问题。
答案 0 :(得分:9)
这最初是一个评论,但它似乎是OP想要的,所以我将它作为答案重新发布
我会使用 ctrl + z 来暂停您正常运行的进程。这将为您留下一个PID,稍后您可以通过拨打fg
fg <job-number>
来恢复该身份。
这不应该对改变的网络设置(如IP等)产生任何影响,至少就python而言。虽然