我不明白为什么下面的代码会挂起。当我从控制台运行它时,一切都很好,但是当我尝试通过浏览器运行它时,页面挂起。我正在使用 Python 2.7.2。
class MyThread(threading.Thread):
def __init__(self):
self.stdout = None
self.stderr = None
threading.Thread.__init__(self, name="snapshot",)
def run(self):
p = subprocess.Popen(["pwd"], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=None)
p.communicate()
myThread = MyThread()
myThread.start()
myThread.join()
更新 我正在使用 Apache 作为 CGI 运行 Python。运行的系统是 Gentoo 2.1。
我认为问题出在Apache。不知何故,它阻塞了新线程,但我不确定。