我的django + ngnix应用服务器在没有正确信息的情况下经常停机。所以我检查了日志,可以看到该过程进入了不存在的状态。
3072 ? 00:18:41 uwsgi
4045 ? 01:00:56 uwsgi Defunct
所以重新开始这个过程并且现在工作了。
任何人都知道服务器频繁出现故障的原因,uwsgi死了吗? 还有什么方法可以重新启动或恢复进程,如果它进入已解散状态?
先谢谢。
答案 0 :(得分:0)
A< Defunct>过程已经死了。 它只是闲逛,直到其父进程检索其退出状态。 没有什么可以做到的。
如果你杀死了它的父级,那么它将被重新设置为初始化进程(进程#1),它将检索其状态(并丢弃它),这将导致失效进程从ps
<消失/ p>
答案 1 :(得分:0)
一个僵尸进程是一个僵尸进程,这样的进程已退出系统,但它的父进程没有收到它的退出代码,因为它的父进程已经退出,因此它的条目存在于ps表中。
但是这样的过程不会消耗你的资源。
您可以通过在其父进程中使用等待条件来避免这种情况。
因此父母将等待孩子成功退出,然后父母将退出系统。