我需要在CENTOS服务器上运行一堆长时间运行的进程。
如果我让进程(python / php脚本)运行,有时进程会因为琐碎的错误而停止运行,例如。字符串编码问题或有时因为该进程似乎被服务器杀死。
我尝试使用nohup并从crontab
中解雇作业有没有办法让这些进程以保存所有变量的方式运行,我可以从停止的位置重启脚本?
我知道我可以将其编程到代码中,但更喜欢一个通用实用程序,它可以使这些内容保持运行,以便即使存在重大错误也能完成脚本。
也许我需要某种过程管理工具?
非常感谢任何建议
答案 0 :(得分:3)
有没有办法让这些进程保持运行,以便保存所有变量,我可以从停止的地方重新启动脚本?
是。它被称为创建“检查点”或“纪念品”。
我知道我可以编程
好。开始吧每个问题都是独一无二的,因此您必须创建,保存和重新加载纪念品。
但更喜欢一个通用的实用工具,它可以让这些东西保持运行,这样即使出现了一些微不足道的错误,脚本也会完成。
它没有很好地概括。并非所有变量都可以保存。只有您知道以有意义的方式重新启动流程所需的内容。
也许我需要某种过程管理工具?
不是。
微不足道的错误,例如。字符串编码问题
通常,我们通过单元测试找到这些。这节省了大量的编程来解决错误。一盎司的预防值得一大堆愚蠢的解决方案。
有时因为进程似乎被服务器杀死了。
什么?你最好找出原因。一盎司的预防值得一大堆愚蠢的解决方案。