Python subprocess.Popen - 如何在中止时捕获孩子的回溯
Python subprocess.Popen - How to capture childs backtrace upon abort
我想运行一个循环中的进程,如果进程returns0,我必须重新运行它。如果它中止,我必须捕获它的堆栈跟踪(回溯)。我正在使用 subprocess.Popen()
和 .communicate()
到 运行 这个过程。现在 .returncode
是 134,即 child 收到了 SIGABRT,有什么办法可以捕获 child 的回溯(堆栈跟踪)?
由于这是一个测试工具,我必须在将其转发给开发团队之前捕获所有必要的信息。
您可以做的是将 subprocess.Popen() 的 stdout 和 stderr 重定向到一个文件,然后再检查它。
这样做应该可以在 "process Termination" 之后检查回溯。
良好的日志记录机制将为您提供 :-) 希望这对您有所帮助。
感谢 this 网站和@Marco 的最后评论,我可以从核心获取回溯
我想运行一个循环中的进程,如果进程returns0,我必须重新运行它。如果它中止,我必须捕获它的堆栈跟踪(回溯)。我正在使用 subprocess.Popen()
和 .communicate()
到 运行 这个过程。现在 .returncode
是 134,即 child 收到了 SIGABRT,有什么办法可以捕获 child 的回溯(堆栈跟踪)?
由于这是一个测试工具,我必须在将其转发给开发团队之前捕获所有必要的信息。
您可以做的是将 subprocess.Popen() 的 stdout 和 stderr 重定向到一个文件,然后再检查它。
这样做应该可以在 "process Termination" 之后检查回溯。
良好的日志记录机制将为您提供 :-) 希望这对您有所帮助。
感谢 this 网站和@Marco 的最后评论,我可以从核心获取回溯