打印python进程堆栈,python进程堆栈,import threa


import threading, sys, tracebackdef dumpstacks(signal, frame):    id2name = dict([(th.ident, th.name) for th in threading.enumerate()])    code = []    for threadId, stack in sys._current_frames().items():        code.append("\n# Thread: %s(%d)" % (id2name.get(threadId,""), threadId))        for filename, lineno, name, line in traceback.extract_stack(stack):            code.append('File: "%s", line %d, in %s' % (filename, lineno, name))            if line:                code.append("  %s" % (line.strip()))    print "\n".join(code)import signalsignal.signal(signal.SIGQUIT, dumpstacks)

有关signal模块的使用请参考: https://docs.python.org/2/library/signal.html

评论关闭