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程序设计有所帮助。

相关文章

pyqt5对用qt designer设计的窗体实现弹出子窗口的示例

1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮。并转换成mainWindow.py # -*- coding: utf-8 -*- #...

python中list列表的高级函数

在Python所有的数据结构中,list具有重要地位,并且非常的方便,这篇文章主要是讲解list列表的高级应用,基础知识可以查看博客。 此文章为python英文文档的翻译版本,你也可以...

python3.4实现邮件发送功能

本文实例为大家分享了python实现邮件发送功能的具体代码,供大家参考,具体内容如下 import smtplib import os from email.mime.text...

python进阶_浅谈面向对象进阶

学了面向对象三大特性继承,多态,封装。今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数。 一、isinstance和issubclass class Foo: pass...

python中argparse模块用法实例详解

本文实例讲述了python中argparse模块用法。分享给大家供大家参考。具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现。 #...