可以在python中进行守护进程fork子进程吗?

时间:2014-05-14 22:53:20

标签: python multithreading multiprocessing daemon python-daemon

我有一个守护进程,它继续运行我使用runit包创建的进程。我希望守护进程能够监听表并根据表的列执行任务,该表说明了需要执行的任务。

EG: table 'A' has column job_type.

我想在每次获取要执行的新任务时从这个守护进程中分配子进程(基于守护进程监听的表A中插入的新行)。

多处理模块说我不能或不应该从守护进程中分叉子进程,就像它死了一样,子进程是孤立的。

实现Daemons基于列值监听表的好方法是什么,它会分配子进程(彼此独立),它们完成任务并返回守护进程并死掉。

如果子进程正在访问共享数据并对其进行修改,我需要使用一些锁定机制。

1 个答案:

答案 0 :(得分:0)

我假设您拥有的守护程序进程也是从python脚本生成的,该脚本使用daemon = true调用multiprocess。 在这种情况下,守护程序正在运行意味着您的创建者进程仍在运行,因此您只需通过管道向其发送消息即可为您生成新进程。如果您的守护进程需要与此对话,请使用您选择的套接字或任何ipc方法。