【发布时间】:2014-11-03 04:41:08
【问题描述】:
我正在使用 subprocess.check_output() 通过 Sysinternals PSExec 在远程机器上执行一些命令。我遇到的问题是,如果命令给出非零返回码,则 check_output() 会引发 CalledProcessError。
PSExec 将创建的进程的 PID 作为其返回码,所以很明显我每次都会遇到错误。有没有办法可以覆盖此错误并仍然检查 psexec 调用的输出?基本上我只需要查看输出,即使它的返回码不为零。
谢谢!
【问题讨论】:
-
你可以使用
subprocess.call假设你没有管道stdout/stderr。所做的只是运行命令,阻塞直到它完成,然后返回返回码。 -
谢谢,我实际上需要输出作为字符串,而不仅仅是返回码。我正在输出中搜索关键字以确保它成功执行。
标签: python subprocess psexec