文章詳情頁
python - 子進程執行完成為僵尸進程,怎么解決
瀏覽:174日期:2022-08-26 15:21:43
問題描述
我有一腳本,去比較數據庫和一個配置文件中一個商品的數量。少幾個商品就開辟幾個進程去創建商品、用的是subprocess.Popen 這個模塊 在這個監控腳本中去創建子進程去執行一個創建的耗時操作。創建完子進程后,主進程所在的這個腳本就退出了 等待cronjob 定時任務下一次執行。少幾個在創建幾個。但是現在發現,創建的子線程在創建完商品。會成為僵尸進程、這個怎么解決。
我看了網上的說的 讓主進程等wait() 但是我這里不能讓主進程等。因為他子進程創建時一個耗時的操作,可能得好久。一個個等。主進程就沒法發退出。那么監控腳本就不起作用的 就不能及時補充商品了。、主進程的作用就是開辟進程 然后等待下次掃描創建少的數量的進程。
想問下大家怎么解決這種問題。父進程不用等待子進程結束,而不產生僵尸進程。
問題解答
回答1:調用signal(SIGCHLD, SIG_IGN)通知內核對子進程的結束不關心,由內核回收。
相關文章:
1. android - weixin://preInjectJSBridge/fail 怎么解決?2. node.js - 在npm發布模塊包之后運行runkit的測試,但是提示Use global instead,這個應該怎么解決3. 路由 - nginx訪問不了根目錄下的文件怎么解決?4. 網頁爬蟲 - python爬蟲翻頁問題,請問各位大神我這段代碼怎樣翻頁,還有價格要登陸后才能看到,應該怎么解決5. javascript - bootstrap table固定列之后寬度無法對齊怎么解決?6. 在win7上安裝2015vc++運行庫安裝失敗怎么解決?7. javascript - vue: 父組件給子組件傳遞數據,子組件接收到了,但是報錯,怎么解決?8. mysql - 如果把數據庫放在lvm上,在需要擴容時,給帶來什么影響?怎么解決呢9. c++ - 請問MySQL_Connection::isReadOnly 怎么解決?10. javascript - ios返回不執行js怎么解決?
排行榜
