是否有更好的方法将子进程与父进程分离。
问题陈述
cron-daemon进程(运行24 * 7)在给定的一天(基于计划)中启动多个短暂的job.py进程。我想确保如果cron-daemon进程收到SIGTERM,那么它对cron-daemon进程启动的短暂job.py进程没有影响。为此,我正在执行以下操作。
cron_daemon.py launches job.py
job.py forks
fork
setsid
ssh localhost python job.py
quit
这样,我确保如果cron-daemon收到SIGTERM,则job.py不会终止,因为它将与cron-daemon.py分离并被init接受。
但是这里的问题是性能下降,因为job.py的模块被多次加载(第一次,当cron-daemon启动job.py然后从job.py进行fork调用,然后再次从fork调用中启动job.py )。有更好的解决方案吗?