即使等待也可以在solaris 10中进行僵尸进程

时间:2020-07-12 05:13:05

标签: redis solaris zombie-process

我正在努力使Redis在Solaris 10上运行,并且有一些集成测试失败了。我正在研究的测试是这样的:

  • 启动Redis
  • 它分叉并且孩子开始将数据库转储到备份文件(RDB)
    • 实际上存在着父母/子女/孙子的关系,孙子变成了僵尸,但我注意到只有几分钟才必须回家。
  • 短时间后,测试脚本将SIGTERM发送给孩子
  • 孩子抓住信号并正常关闭
  • The parent calls wait3()

尽管有wait3()的呼唤,但孩子最终还是处于僵尸状态。

运行我的测试大约90%的时间失败。一旦进入故障状态,它将永远无法恢复。我尝试将测试更改为等待更长的时间,尽管它似乎在进程退出后多次调用wait3(),但它会一直保持该状态,直到父进程被杀死为止。

不幸的是,直到下周我才能再次进行这项工作,因此我正在在家中进行研究。我大部分的谷歌搜索都只显示文档或“为什么流程变成僵尸?”输入问题。

This google groups thread从90年代中期开始可能会有所帮助,尽管他们大多谈论的是Solaris / SunOS的较早版本。

1 个答案:

答案 0 :(得分:0)

我误会了。看来主节点没有看到它的子节点失败,所以没有Build With...

相关问题