我有一个程序,我想通过子进程启动。它可以输出到除 stdout 和 stderr 以外的 fd。有没有办法从任意 fd 捕获数据?如果我的进程将输出发送到 fd 9,我想做类似以下的事情:
import subprocess, StringIO
redirector = StringIO.StringIO()
errno = subprocess.call(cmd, fd9=redirector)
#process the error code and data in redirector
我不想通过stderr 或 stdout 将被调用进程的输出重定向到 fd 9。