OSError使用Popen

时间:2017-06-21 08:56:42

标签: python subprocess

我编写以下示例代码来演示我的问题:

from subprocess import Popen

while 1:
    try:
        proc = Popen(['tail', '-3', '/var/log/syslog'])
    except KeyboardInterrupt:
        break

当我输入ctrl + c时,我将获得追溯:

File "/usr/lib/python2.7/subprocess.py" line 1317, in _execute_child
  os.close(errpipe_read)
OSError: [Errno 9] Bad file descriptor

我原本认为文件描述符是由spawn进程和父进程共享的,所以在goolgling之后我尝试以下代码:

proc = Popen(['tail', '-3', '/var/log/syslog'], preexec_fn=os.setpgrp)

但仍然有那个追溯记录。怎么解决这个?任何建议都表示赞赏。

0 个答案:

没有答案