我收到间歇性错误 -
子进程 XXX 仍然没有退出,发送一个 SIGTERM.. 然后是一个 SIGKILL。它间歇性地发生并且网页挂起。
我没有使用守护进程..但现在我是,问题仍然存在..
我也有一些错误打开文件以供阅读:权限被拒绝。
请问有人可以帮忙吗?
我是这个论坛的新手,如果之前已经回答过,很抱歉。
我收到间歇性错误 -
子进程 XXX 仍然没有退出,发送一个 SIGTERM.. 然后是一个 SIGKILL。它间歇性地发生并且网页挂起。
我没有使用守护进程..但现在我是,问题仍然存在..
我也有一些错误打开文件以供阅读:权限被拒绝。
请问有人可以帮忙吗?
我是这个论坛的新手,如果之前已经回答过,很抱歉。
如果您没有使用 mod_wsgi 的守护程序模式,则意味着在显示初始消息时必须重新启动 Apache。
正在发生的是,在尝试重新启动时,Apache 向其子进程发送了一个 SIGTERM。如果他们没有自行退出,它将以 1 秒的间隔再次发送 SIGTERM,并最终在 3 秒后向其发送 SIGKILL。该消息警告您后者,并强制终止该进程。
现在的问题是导致进程无法立即关闭的原因。这可能有多种原因。
使用不能在子解释器中正常工作的 Python 扩展模块,这会导致进程死锁并挂起,从而阻止它关闭。http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API
在 Python Web 应用程序中使用未正确设置为守护线程的后台线程,结果它们会阻塞进程关闭。
您的 Web 应用程序只是试图以某种方式在进程关闭上做太多事情,并且没有在时间限制内完成。
即使使用守护程序模式,您也可能会看到这种行为,因为它实现了类似的关闭超时,尽管超时可针对守护程序模式进行配置。
无论如何,如上面的文档链接中所述,强制使用主要的 Python 解释器
至于权限问题,请阅读:
http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Access_Rights_Of_Apache_User
http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Application_Working_Directory
简而言之,确保您需要访问的文件/目录的访问权限是正确的,并确保在访问文件系统时始终使用绝对路径名。