我有一個Perl腳本,產生一些孩子。他們都需要相當長的時間才能運行,創建目錄和文件。在兒童死於自然原因之前,我經常會注意到我想要改變的事情,因此我必須關閉所有的東西(包括幾個grep
和kill
調用),並刪除孩子創建的任何文件。這並不是什麼大不了的事情,但有點痛苦的脖子。我想創建一個設置,讓孩子們都受到監控,所以當我再次啓動父母時,仍會報告正在運行的老孩子。保持從腳本的舊運行跟蹤兒童
到目前爲止,我最好的想法是保持一個日誌文件,我已經用他們的PID運行的孩子,檢查它並在父腳本開始時更新它。殺死並報告任何仍在運行的孩子,並在用戶重新運行之前手動清理目錄和文件。
所以我的問題是這樣的:我該如何去添加孩子到日誌文件?有沒有辦法設置一個可以自動處理它的觸發器,或者我堅持要記住在新進程啓動的代碼中的任何地方執行它?
p.s.我當然願意提供更好的方法來達到這個目的!
聽起來你已經準備好了[Parallel :: ForkManager](http://search.cpan.org/perldoc?Parallel:ForkManager)。 – Ether 2011-03-10 17:58:38