mod_wsgi-express 如果调整终端大小则停止

mod_wsgi-express stops if terminal is resized

如果Python的mod_wsgi-express starts in a terminal, which is then resized, the server shuts down. This seems to be due to Apache interpreting the SIG_WINCH。可以以任何方式禁用它吗?

使用 signal.signal(signal.SIGWINCH, signal.SIG_IGN) 捕获它的天真方法被阻止:http://modwsgi.readthedocs.io/en/develop/configuration-directives/WSGIRestrictSignal.html

是否可以在代码中或在命令行中以某种方式忽略此信号mod_wsgi-express

使用:

mod_wsgi-express start-server --isatty

这会启用一项检查,查看您是否 运行 在 TTY 中,以及您何时使用抑制 SIGWINCH 的包装脚本启动 Apache。它目前需要命令行选项以允许在将其设为默认检查功能之前对其进行测试。这样做是为了在已知其可靠运行之前避免现有设置出现问题的可能性。

您可以通过运行找到命令行选项的详细信息:

mod_wsgi-express start-server --help

您需要相当新的 mod_wsgi 版本才能使用此选项。

此外,尝试从您的 Python 代码中阻止它不会有任何区别,因为拦截信号并关闭的是 Apache 父进程。这就是为什么需要使用忽略它的包装器来调用它的原因。