[issue5673] Add timeout option to subprocess.Popen
Pablo Bitton
report at bugs.python.org
Sun Aug 8 18:07:39 CEST 2010
Pablo Bitton <pablo.bitton at gmail.com> added the comment:
I'd like to report a problem I encountered with the discussed use pattern using subprocess-timeout-v5.patch on linux. I don't have python3 installed at work, sorry.
When running:
p = subprocess.Popen("tcpdump -i eth0 > file &", stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines=True)
try:
out, err = p.communicate(timeout=1)
except subprocess.TimeoutExpired:
p.kill()
out, err = p.communicate()
After the timeout happens, the last line raises a ValueError: I/O operation on closed file.
The exception is thrown from the register_and_append call for self.stdout in _communicate_with_poll. I'm sorry again for not being able to attach the full traceback.
The problem doesn't reproduce without the '&' or the '> file', and doesn't reproduce with other executables I've tried.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue5673>
_______________________________________
More information about the Python-bugs-list
mailing list