我在这里有一个奇怪的问题,我无法通过搜索网络找到解决方案:/
在将 Apache 从 mpm-prefork 切换到 mpm-worker 后,在我的 (Django) Python WSGI 应用程序中使用子进程在挂起一段时间后会引发以下异常:
IOError at /
[Errno 4] Interrupted system call
有问题的电话是:
out = check_output(['sudo', 'quota', user_id])
其中 check_output 是 Python 2.7 中此函数的反向移植,而我使用的是 Debian Squeeze 存储库中的 Python 2.6。
实际上,这些进程似乎被执行了,但是却死了:
ps aux | grep quota
root 15378 0.0 0.0 21864 1176 ? S 02:34 0:00 sudo quota ...SOME_ID...
root 15379 0.0 0.0 0 0 ? Z 02:34 0:00 [quota] <defunct>
Apache 配置只不过是设置 WSGIScriptAlias 和一些目录指令。
我错过了显而易见的事情吗?
问候塞巴斯蒂安
解决方案: 原来是Debian 6 附带的 sudo 1.7.4-4中的一个错误。通过从他们的主页安装最新的 1.8.x .deb 来解决。