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 cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例

本文实例讲述了Python实现对不原生支持比较操作的对象排序算法。分享给大家供大家参考,具体如下: 问题:想在同一个类的实例之间做排序,但是它们并不原生支持比较操作。 解决方案:使用内建...

python基于http下载视频或音频

一、简介 这里介绍使用python基于http下载视频或音频。 二、关键点 1、断点续传 视频或音频文件一般比较大,所以通过需要断点续传。方式通过在http的header里添加Range...

python获取中文字符串长度的方法

如下所示: print len('哈哈'.decode('utf-8')) #unicode格式 print len('哈哈') #utf-8格式 以上这篇python获取中文字符...

Python全局锁中如何合理运用多线程(多进程)

Python全局锁中如何合理运用多线程(多进程)

Python全局锁 (1)全局锁导致的问题 全局锁的英文简称是GIL,全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全...

python基础 range的用法解析

range基本用法: range:顾头不顾尾 range(10)--返回0-9的数字 ey: for i in range(10): print(i) result:0...