python - 子进程执行完成为僵尸进程,怎么解决
ringa_lee
ringa_lee 2017-04-18 10:26:49
0
1
846

我有一脚本,去比较数据库和一个配置文件中一个商品的数量。少几个商品就开辟几个进程去创建商品、用的是subprocess.Popen 这个模块 在这个监控脚本中去创建子进程去执行一个创建的耗时操作。创建完子进程后,主进程所在的这个脚本就退出了 等待cronjob 定时任务下一次执行。少几个在创建几个。但是现在发现,创建的子线程在创建完商品。会成为僵尸进程、这个怎么解决。

我看了网上的说的 让主进程等wait() 但是我这里不能让主进程等。因为他子进程创建时一个耗时的操作,可能得好久。一个个等。主进程就没法发退出。那么监控脚本就不起作用的 就不能及时补充商品了。、
主进程的作用就是开辟进程 然后等待下次扫描创建少的数量的进程。

想问下大家怎么解决这种问题。父进程不用等待子进程结束,而不产生僵尸进程。

ringa_lee
ringa_lee

ringa_lee

모든 응답(1)
伊谢尔伦

signal(SIGCHLD, SIG_IGN)을 호출하여 하위 프로세스의 종료에 관심이 없으며 커널에 의해 재활용될 것임을 커널에 알립니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿