我正在循环调用多个bash脚本:
import subprocess
for script in scripts:
cmd = './{}'.format(script)
subprocess.call(cmd, shell=True)
我的问题是一些脚本会挂起,我不明白为什么。 script
执行完毕后,子进程似乎正在等待。请注意,我没有使用stdout = subprocess.PIPE等,该文档特别建议可能会导致缓冲区溢出并导致相关问题。
有什么建议吗?我可以在此过程中设置timeout
,但不希望诉诸此措施。
当sigterm时,python输出为:
File "/home/ubuntu/anaconda3/lib/python3.6/subprocess.py", line 269, in call
return p.wait(timeout=timeout)
File "/home/ubuntu/anaconda3/lib/python3.6/subprocess.py", line 1457, in wait
(pid, sts) = self._try_wait(0)
File "/home/ubuntu/anaconda3/lib/python3.6/subprocess.py", line 1404, in _try_wait
(pid, sts) = os.waitpid(self.pid, wait_flags)