如果进程进入失效状态,是否有任何方法可以重新启动或恢复进程



我的django+ngnix应用程序服务器在没有适当信息的情况下频繁宕机。所以我检查了日志,可以看到进程进入了无效状态。

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

因此,重新启动流程,并暂时有效。

有人知道服务器频繁宕机,uwsgi死亡的原因吗?如果进程进入失效状态,是否有任何方法可以重新启动或恢复进程?

提前感谢。

A<Defunct>进程已终止。它只是挂起,直到它的父进程检索到它的退出状态。对此无能为力。

如果您杀死它的父进程,那么它将被重新父进程到init进程(进程#1),init进程将检索它的状态(并丢弃它),这将导致失效的进程从ps 中消失

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

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

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

这样,父级将等待子级成功退出,然后父级将退出系统。

最新更新