2014-05-14 147 views
3

我有一個使用runit軟件包繼續運行的守護進程。我想要守護進程監聽一個表並根據表的列說明它需要執行什麼任務。守護進程可以在python中fork子進程嗎?

EG: table 'A' has column job_type. 

我想從這個守護進程每次得到一個新的任務來執行(基於插在後臺監聽表A中的新行)時間分叉子進程。

多處理模塊說我不能或不應該從守護進程分支子進程,就好像它死了一樣,子進程是孤立的。

什麼是一個很好的方法來實現守護進程根據列值監聽表,分派負責執行任務並回到守護進程並死亡的子進程(彼此獨立)。

我需要使用一些鎖定機制,如果孩子進程訪問共享數據,並修改它..

回答

0

我想守護進程你也從一個python腳本,要求多進程與守護進程催生=真。 在這種情況下,守護進程正在運行意味着您的創建者進程仍在運行,因此您可以通過管道向其發送消息爲您創建一個新進程。如果守護進程需要與此交談,請使用套接字或您選擇的任何ipc方法。