我有个奇怪的情况。
我有一个c写的程序“A”,它以其他可执行文件的名称作为参数。“B”、“C”、“D”等“A”的主要工作是分叉并启动“B”、“C”等,然后检查它们是否崩溃,在这种情况下重新启动崩溃的进程。
此外,进程“A”为RTC同步目的运行一个分离的线程。“A”以/bin/sh -c A B C D etc开头。
我所处的是一个嵌入式环境,我使用的是从Linux4.4.57派生的自定义内核。
现在问题是:有时候我的过程“A”变成了僵尸!
我所提出的一些意见:
启动“A”的父进程/bin/sh -c仍然有效;
处理“B”、“C”等的子程序都没有死亡;
“A”对信号作出反应;
如果我杀死了父进程