如果进入已解散状态,有没有办法重启或恢复该进程?

时间:2016-01-09 05:16:44

标签: python django nginx uwsgi defunct

我的django + ngnix应用服务器在没有正确信息的情况下经常停机。所以我检查了日志,可以看到该过程进入了不存在的状态。

3072 ? 00:18:41 uwsgi
4045 ? 01:00:56 uwsgi Defunct

所以重新开始这个过程并且现在工作了。

任何人都知道服务器频繁出现故障的原因,uwsgi死了吗? 还有什么方法可以重新启动或恢复进程,如果它进入已解散状态?

先谢谢。

2 个答案:

答案 0 :(得分:0)

A< Defunct>过程已经死了。 它只是闲逛,直到其父进程检索其退出状态。 没有什么可以做到的。

如果你杀死了它的父级,那么它将被重新设置为初始化进程(进程#1),它将检索其状态(并丢弃它),这将导致失效进程从ps <消失/ p>

答案 1 :(得分:0)

一个僵尸进程是一个僵尸进程,这样的进程已退出系统,但它的父进程没有收到它的退出代码,因为它的父进程已经退出,因此它的条目存在于ps表中。

但是这样的过程不会消耗你的资源。

您可以通过在其父进程中使用等待条件来避免这种情况。

因此父母将等待孩子成功退出,然后父母将退出系统。