簡體   English   中英

安全地退出多進程python應用程序

[英]Exiting a multiprocessed python application safely

我注意到os._exit(<num>) ::

退出狀態為n的進程,不調用清理處理程序,刷新stdio緩沖區等。

那個sys.exit() ::

“only”引發異常,它只會在從主線程調用時退出進程

我需要一個解決方案來關閉一個多處理的應用程序,該應用程序將確保所有進程都關閉(沒有左孤立)並且它以最佳狀態退出。

附加功能:

我正在使用python多處理庫創建進程,創建繼承自multiprocessing.Process

我最終為每個進程創建了一個Pipe。 然后,當主進程關閉時,它可以向所有子進程發送一條消息,它們也應該關閉。

為了使這項工作正確,你必須定期檢查子進程'“do loop”以查看管道中是否有消息,如果是,請檢查它們是否“現在退出”信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM