Python守护进程用法实例分析

yipeiwu_com6年前Python基础

本文实例讲述了Python守护进程用法。分享给大家供大家参考。具体分析如下:

守护进程是可以一直运行而不阻塞主程序退出。要标志一个守护进程,可以将Process实例的daemon属性设置为True。代码如下:

import os
import time
import random
import sys
from multiprocessing import Process,current_process
def daemon():
    p = current_process()
    print "starting ID%d prccess%s\n" % (p.pid,p.name)
    sys.stdout.flush()
    time.sleep(3)
    print "Exiting:%s\n" % p.name
    sys.stdout.flush()
def main():
    p = Process(name="Daemon",target=daemon)
    p.daemon=True
    p.start()
if __name__=="__main__":
    main()
    time.sleep(1)

由于主进程会在1秒后退出,守护进程的 print  "Exiting:%s\n" % p.name这句是看不到的。

若想看到守护进程的 print  "Exiting:%s\n" % p.name语句输出,可以利用join,主进程等待守护进程的退出后再退出,即在,p.start()后添加p.join()然后把time。sleep(1)删除

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python的Django框架中settings文件的部署建议

django在一个项目的目录结构划分方面缺乏必要的规范,因此不同人的项目组织形式也千奇百怪,而且也很难说谁的做法就比较好。我根据自己的项目组织习惯,发布了一个项目dj-scaffold。...

pyqt4教程之widget使用示例分享

复制代码 代码如下:# -*- coding: utf-8 -*-import sysfrom PyQt4 import QtCore, QtGuiclass MyWindow(QtGu...

如何用OpenCV -python3实现视频物体追踪

如何用OpenCV -python3实现视频物体追踪

opencv OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系...

Python生成任意范围任意精度的随机数方法

实例如下所示: # -*- coding: utf-8 -*- import numpy as np random = np.random.RandomState(0)#Random...

Python的numpy库下的几个小函数的用法(小结)

numpy库是Python进行数据分析和矩阵运算的一个非常重要的库,可以说numpy让Python有了matlab的味道 本文主要介绍几个numpy库下的小函数。 1、mat函数 mat...