小弟最近在做一个多进程抓取服务,现在是一个主进程 10个子进程 如果子进程意外退出了 再创建子进程。
但是这样如果主进程意外退出了 子进程却不会跟着退出 我下次在开这个服务 又创建了10个子进程 加起来就是20个子进程 这样不光redis里的数据乱了 内存也占了很多 有没有什么好的办法 保证 主进程如果意外结束了 连带着下面的子进程一起关闭呢??
我的想法是 每次启动主进程的时候 exec执行下一个shell脚本 shell脚本 关闭除了这个主进程之外的所有相关进程 不知道各位大哥有什么高见?
首先你要查到主进程为什么退出,有致命错误还是发生了crash或者是其他。解决之。
重新启动一定要先进行清理工作,杀掉残留的子进程。再启动新的子进程。