【发布时间】:2016-04-02 01:20:47
【问题描述】:
我发现Popen.communicate() 上的文档有些不完整。以文档中的示例为例,稍作修改:
p = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
try :
outs, errs = p.communicate(ins, timeout=5)
except TimeoutExpired:
p.kill()
outs, errs = p.communicate(ins) # What's with the input data?
# What value does p.returncode have at this point?
那我有两个问题:
- 如果我将输入
ins发送到子进程,是否在捕获超时异常后重新发送输入?此句柄是否已正确读取输入? - 在调用
p.kill()之后,即在向进程发送SIGKILL之后,p.returncode的值(如果有)是多少?
【问题讨论】:
标签: python-3.x subprocess