似乎不知从何而来,每当我调用我的 Django 模型的 url 时,无论是使用 ListView 还是 DetailView,它都会挂起,并且这样做时内存会飙升,我不得不杀死 runserver。我现在已经将此问题追溯到 subprocess._try_wait()。简单的解决方案似乎是引发 ChildProcessError。但这是源代码,我一直被告知不要乱用源代码。那么我应该如何解决这个问题呢?带装修师?那仍然必须进入源代码,不是吗?请指教。
另外,我注意到源代码中有一条关于 _try_wait() 之前的方法中的 python 错误的注释,即 _internal_poll()。请参阅 http://bugs.python.org/issue15756。然而,该错误在 2012 年被报告并一直修复,并且被认为与 1731717 相同,在 2007 年一直报告并在 Python 3.2 中修复。这个项目是我在 Python 3.9.9 上的第一个项目,所以我希望这个 bug 没有被重新引入。Django 是 3.2.9,操作系统是 Ubuntu 20.04。
此外,所有这些评论和错误报告都在谈论“SIGCLD 将被忽略”。但如果这是更好的方法,我该怎么做?我对C代码一无所知。
用 `sigaction(2)` 忽略 `SIGCHLD` 信号有什么用?
最后,我注意到这些来源都没有提到内存峰值。我不确定这是否有所作为。我假设内存泄漏 == 我所说的内存峰值。再次谢谢你。