gpt4 book ai didi

python - 获取子进程的异常信息

转载 作者:行者123 更新时间:2023-12-03 08:57:18 32 4
gpt4 key购买 nike

我想做一个简单的windows可执行加载程序
在 python 中使用 os.system('./calc.exe') 简单地实现
或 Windows API 中的 WinExec(...)、CreateProcess(...)...

这将是一项非常简单易行的任务。
但是,如果我的子进程崩溃,我希望收到详细的错误报告。

我知道我可以得到错误编号代码作为返回值
诸如 Python 中的 Popen.call() 之类的函数,或者其他什么...

但是当windows二进制崩溃时,我可以看到详细的错误报告
其中包含崩溃模块的名称、违规代码(0xC0000005 等)
崩溃模块的偏移量,时间等......

我如何从父进程中获取这些信息,以及实现这一点的最简单的方法是什么?

先感谢您。

最佳答案

我没有对此进行测试,但是这样的事情应该可以解决问题:

import logging
import subprocess

cmd = "ls -al /directory/that/does/not/exist" # <- or Windows equivalent
logging.info(cmd)
try:
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
except OSError, err:
logging.error(err.child_traceback)
(stdout, stderr) = process.communicate()
logging.debug(stdout)
if not stderr is None:
logging.error(stderr)

关于python - 获取子进程的异常信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20702297/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com