【发布时间】:2021-05-27 21:57:27
【问题描述】:
我目前正在使用下面指定的参数运行子进程。 一切似乎运行良好。生成的输出符合预期,生成的日志没有显示错误。
exit_code = subprocess.run([cmd, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11], capture_output=True)
但是我得到的返回码/退出码为 2。
当我打印上面的 exit_code 时,stderr & stdout 显示以下内容。
returncode=2, stderr=b'', stdout=b''
为什么我会得到预期的输出并且日志中没有错误但仍然得到退出代码 2? 有没有办法找出退出代码返回 2 的原因? b'' 对 stderr 和 stdout 意味着什么?
我正在使用 subprocess.run 运行 SAS 程序。 这只发生在某些 SAS 程序中。 它确实发生的一个似乎生成pdf文件。 此外,如果我将 subprocess.run 中指定的完全相同的参数用于 .bat 文件,它运行良好,退出代码为 0。
【问题讨论】:
-
这取决于
cmd。你可以显示正在运行的命令吗?
标签: python error-handling sas subprocess