os._exit(0) signal(SIGINT, sig_exit) signal(SIGTERM, sig_exit) # eventlet 与 multiprocessing冲突,所以要将eventlet # 放在最后加载 from pm_srvd import PMService srvd = PMService() srvd._port = 6000 srvd.listen() """ t = Thread(target= srvd.listen) t.setDaemon(True) t.start() while True: if G_exit:
from stat_daemon import cron p = mp.Process(target=cron, args=(mpexit,)) p.daemon = True p.start() #信号处理 def sig_exit(a,b): mpexit.set() G_exit=True os._exit(0) signal(SIGINT,sig_exit) signal(SIGTERM,sig_exit) #eventlet 与 multiprocessing冲突,所以要将eventlet #放在最后加载 from pm_srvd import PMService srvd = PMService() srvd._port = sconf.SYS['port'] srvd.listen() """ t = Thread(target= srvd.listen) t.setDaemon(True) t.start() while True: if G_exit: mpexit.set() p.join() os._exit(0) time.sleep(1) """