Python 3.3.3
Windows 7的
Here is the full stack:
Traceback (most recent call last):
File "Blah\MyScript.py", line 578, in Call
output = process.communicate( input=SPACE_KEY, timeout=600 )
File "C:\Python33\lib\subprocess.py", line 928, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "C:\Python33\lib\subprocess.py", line 1202, in _communicate
self.stdin.write(input)
OSError: [Errno 22] Invalid argument
代码如下所示:
process = subprocess.Popen( arguments,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True,
env=environment )
output = process.communicate( input=SPACE_KEY, timeout=600 )
该代码每天运行数百次,没有问题.但如果在同一台机器上运行多个脚本(相同的脚本,但有时来自不同的文件夹),我会收到错误.脚本不执行相同的事情(即:当我收到此错误时,其他脚本不执行子进程).
子进程代码引发了许多不同的命令行提供给它的错误.
所以,任何人都有一个想法,发生了什么?解释器是否存在多次执行的问题(在不同的进程中)?
相同的代码通常工作正常,如果解释器运行相同(或非常相似)的脚本,则会抛出异常.但是它们通常执行脚本的不同部分.
我很失落:在8核机器上使用单个处理器是令人讨厌的.