2016-11-20 112 views
0

我想使用多处理退出主线程来启动守护进程。我写了这段代码:如何在python中使用多处理启动守护进程

import multiprocessing as mp 
from time import sleep 

def mytarget(): 
    while True: 
     print "yes" 
     sleep(1) 

process = mp.Process(target=mytarget) 
process.daemon = True 
process.start() 

但是守护进程没有出现。我知道我可以使用os.fork这样解决:

import os 
from time import sleep 

def mytarget(): 
    while True: 
     print "yes" 
     sleep(1) 

pid = os.fork() 
if pid == 0: 
    mytarget() 

但它不支持在Windows。所以我需要一个多处理模块的解决方案。谢谢!

+0

多处理模块不是为此而设计的。使用库来创建守护进程或服务。我可以推荐['service'包](http://python-service.readthedocs.io/en/latest/)。 – MisterMiyagi

回答