我编写了一个旨在永远运行的python脚本。我将脚本加载到我在运行debian wheezy 7.0的远程服务器上创建的文件夹中。代码运行,但它只运行3到4个小时,然后它就停止了,我没有任何关于它的日志信息停止。我回来检查运行过程而不是那里。这是我运行python文件的地方的问题吗?该脚本只有一个while循环并写入外部csv文件。该文件从/ var / pythonscript运行。该文件夹是我制作的自定义文件夹。我没有收到错误,我知道代码运行多长时间的唯一方法是通过csv文件上的时间戳。我通过ssh运行.py文件到服务器和sudo python scriptname。我也想知道linux debian目录中运行python文件的最佳位置和有关的限制。任何帮助将非常感激。
答案 0 :(得分:0)
基本上你被塞满了。
你的问题是:
在这种情况下,您无法找出问题所在。我建议以下任何一种:
现在,如果脚本 具有日志记录或其他诊断数据,但您删除或丢弃它们,那么这就是您的问题,您需要停止丢弃这些有用的信息。
编辑(以下评论)。
在基本级别,您应该打印到stdout或stderr,只有这样才能为您提供大量信息。就像,"发现了314条记录,我们需要保存240条记录","打开文件名X.csv,打开文件成功(或失败,视情况而定)" ,"错误:无论","将2315条记录保存到CSV"。您应该能够确定这些数字是否有意义。 (共有314条记录,但确定其中240条应该保存,但它保存了2315条?出了什么问题!?需要更多记录或调查的时间!)
理想情况下,您应该查看python中的日志记录模块,因为这样可以有效地记录堆栈跟踪,显示行号,您登录的功能等。使用日志记录模块可以指定日志记录级别(例如,DEBUG,INFO,WARN,ERROR),并过滤它们或将它们重定向到文件或控制台,如您所愿,而无需更改日志记录语句本身。
当您遇到问题(崩溃或其他)时,您将能够大致识别错误发生的位置,为您提供信息以增加该区域的日志记录,或者能够推断必须已经发生了(虽然你应该添加足够的日志记录,以便日志记录将告诉你你清楚明确地发生了什么)。