文章詳情頁
python - 子進程執(zhí)行完成為僵尸進程,怎么解決
瀏覽:151日期:2022-08-26 15:21:43
問題描述
我有一腳本,去比較數(shù)據(jù)庫和一個配置文件中一個商品的數(shù)量。少幾個商品就開辟幾個進程去創(chuàng)建商品、用的是subprocess.Popen 這個模塊 在這個監(jiān)控腳本中去創(chuàng)建子進程去執(zhí)行一個創(chuàng)建的耗時操作。創(chuàng)建完子進程后,主進程所在的這個腳本就退出了 等待cronjob 定時任務下一次執(zhí)行。少幾個在創(chuàng)建幾個。但是現(xiàn)在發(fā)現(xiàn),創(chuàng)建的子線程在創(chuàng)建完商品。會成為僵尸進程、這個怎么解決。
我看了網(wǎng)上的說的 讓主進程等wait() 但是我這里不能讓主進程等。因為他子進程創(chuàng)建時一個耗時的操作,可能得好久。一個個等。主進程就沒法發(fā)退出。那么監(jiān)控腳本就不起作用的 就不能及時補充商品了。、主進程的作用就是開辟進程 然后等待下次掃描創(chuàng)建少的數(shù)量的進程。
想問下大家怎么解決這種問題。父進程不用等待子進程結束,而不產生僵尸進程。
問題解答
回答1:調用signal(SIGCHLD, SIG_IGN)通知內核對子進程的結束不關心,由內核回收。
相關文章:
1. javascript - react native在run-android時出現(xiàn)這個錯誤該怎么解決?大神賜教2. angular.js - angularjs $q的promise 怎么解決嵌套的ajax問題?3. mysql根據(jù)輸入的字段數(shù)據(jù)獲取到ID怎么解決??4. 出現(xiàn)這個怎么解決呀5. html5 - 一般兼容問題怎么解決6. navicat for mysql就在這個網(wǎng)站上下載的破解版出現(xiàn)錯誤怎么解決?7. javascript - 請問這個webpack打包警告怎么解決8. 為什么總是出現(xiàn)未定義索引怎么解決呀9. 這個怎么解決啊?10. php查詢MySQL過多的時候網(wǎng)頁會掛掉,請問怎么解決
排行榜

熱門標簽