在 Python 3 中,使用
subprocess.run()
函数运行子进程时,可以通过返回值来获取子进程的返回码(即 exit code)。
subprocess.run()
函数会返回一个
CompletedProcess
对象,其中包含了子进程执行的结果。通过访问这个对象的
returncode
属性,就可以获取子进程的返回码。
如果子进程成功执行并正常退出,则返回码通常为 0。如果子进程执行失败或者异常退出,则返回码通常为非零值,具体的值取决于子进程的实际情况。
下面是一个简单的示例,演示如何使用
subprocess.run()
函数获取子进程的返回码:
import subprocess
# 执行 ls 命令
result = subprocess.run(["ls", "-l"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 输出子进程的返回码
print("Return code:", result.returncode)
在上面的示例中,我们使用 subprocess.run()
函数执行了 ls -l
命令,并将结果保存在 result
对象中。然后,我们访问 result.returncode
属性,输出子进程的返回码。
需要注意的是,如果子进程的返回码是负数,表示子进程被信号终止,而非正常退出。如果子进程的返回码是 None,表示还没有返回码可用,子进程可能仍在运行中。