python脚本在作为背景运行时看到traceback

时间:2013-08-21 03:03:10

标签: python linux

我的服务器上有一个像这样运行的python脚本:

python script.py &

该脚本运行正常,但我不断向脚本中添加新内容并重新运行它,有一天它会运行几天没有任何问题,但有时脚本会停止运行(正在运行内存不足),但由于我将脚本作为后台启动,因此我不知道如何检查导致脚本停止运行的异常或错误。我在亚马逊上运行的Ubuntu服务器盒上。关于如何处理这种不便的任何建议?

1 个答案:

答案 0 :(得分:5)

我使用这样的东西。它将转储导致系统日志终止的异常,您可以通过在脚本停止后检查/var/log/syslog来查看该异常。

import traceback
import syslog

def syslog_trace(trace):
    '''Log a python stack trace to syslog'''

    log_lines = trace.split('\n')
    for line in log_lines:
        if len(line):
            syslog.syslog(line)

def main():
    # Your actual program here

if __name__ == '__main__':
    try:
        main()
    except:
        syslog_trace(traceback.format_exc())