文章详情页
python - 子进程执行完成为僵尸进程,怎么解决
浏览:204日期:2022-08-26 15:21:43
问题描述
我有一脚本,去比较数据库和一个配置文件中一个商品的数量。少几个商品就开辟几个进程去创建商品、用的是subprocess.Popen 这个模块 在这个监控脚本中去创建子进程去执行一个创建的耗时操作。创建完子进程后,主进程所在的这个脚本就退出了 等待cronjob 定时任务下一次执行。少几个在创建几个。但是现在发现,创建的子线程在创建完商品。会成为僵尸进程、这个怎么解决。
我看了网上的说的 让主进程等wait() 但是我这里不能让主进程等。因为他子进程创建时一个耗时的操作,可能得好久。一个个等。主进程就没法发退出。那么监控脚本就不起作用的 就不能及时补充商品了。、主进程的作用就是开辟进程 然后等待下次扫描创建少的数量的进程。
想问下大家怎么解决这种问题。父进程不用等待子进程结束,而不产生僵尸进程。
问题解答
回答1:调用signal(SIGCHLD, SIG_IGN)通知内核对子进程的结束不关心,由内核回收。
相关文章:
1. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题2. 路由 - nginx访问不了根目录下的文件怎么解决?3. mysql主主同步,从库不同步应该怎么解决?4. mysql - 瞬间流量很高的网站,要频繁的插入数据到数据库,应该怎么解决这个问题?5. mysql_replication - mysql读写分离时如果单台写库也无法满足性能怎么解决6. angular.js - Beego 与 AngularJS的模板格式冲突,该怎么解决?7. mysql - sql 左连接结果union右连接结果,导致重复性计算怎么解决?8. python - 爬虫获取网站数据,出现乱码怎么解决。9. 上传多图时,最后一张图为缩略图,想设置第一张图为缩略图怎么解决?10. javascript - 安装vue-cli一直卡在这个状态该怎么解决呢
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)