python 如何设置守护进程


Posted in Python onOctober 29, 2020

上一篇文章 介绍 join 在多进程中的作用,本文继续学习设置守护进程的对程序的影响。(Python大牛可以绕行)

我们通过两个例子说明

# encoding: utf-8
"""
author: yangyi@youzan.com
time: 2019/7/30 11:20 AM
func:
"""
from multiprocessing import Process
import os
import time

def now():
  return str(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))

def func_1(name):
  print(now() + ' Run child process %s ,pid is %s...' % (name, os.getpid()))
  time.sleep(2)
  print(now() + ' Stop child process %s ,pid is %s...' % (name, os.getpid()))


def func_2(name):
  print(now() + ' Run child process %s , pid is %s...' % (name, os.getpid()))
  time.sleep(4)
  print(now() + ' hello world!')
  print(now() + ' Stop child process %s , pid is %s...' % (name, os.getpid()))


if __name__ == '__main__':
  print ('Parent process %s.' % os.getpid())
  p1 = Process(target=func_1, args=('func_1',))
  p2 = Process(target=func_2, args=('func_2',))
  print now() + ' Process start.'
  p1.daemon = True #设置子进程p1为守护线程
  p1.start()
  p2.start()
  print now() + ' Process end .'

结果显示

python 如何设置守护进程

启动了子进程 Run child process func_1 但是没有 func_1 的结束提示。随着主进程的结束而结束。

if __name__ == '__main__':
  print ('Parent process %s.' % os.getpid())
  p1 = Process(target=func_1, args=('func_1',))
  p2 = Process(target=func_2, args=('func_2',))
  print now() + ' Process start.'
  p2.daemon = True #设置子进程p2为守护线程
  p1.start()
  p2.start()
  print now() + ' Process end .'

结果显示

python 如何设置守护进程

启动了子进程func_1,而func_2 没有启动便随着主进程的结束而结束。

总结

对于进程或者子线程设置join() 意味着在子进程或者子线程结束运行之前,当前程序必须等待。当我们在程序中运行一个主进程(主线程),然后有创建多个子线程。主线程和子线程各自执行。当主线程想要退出程序时会检查子线程是否结束。如果我们设置deamon属性为True ,不管子线程是否结束,都会和主线程一起结束。

-The End-

以上就是python 如何设置守护进程的详细内容,更多关于python 守护进程的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python简单实现获取当前时间
Aug 27 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
局域网内python socket实现windows与linux间的消息传送
Apr 19 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
python批量处理txt文件的实例代码
Jan 13 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
在tensorflow以及keras安装目录查询操作(windows下)
Jun 19 Python
python代码实现图书管理系统
Nov 30 Python
PYTHON InceptionV3模型的复现详解
May 06 Python
python 多线程中join()的作用
Oct 29 #Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 #Python
python 实现音频叠加的示例
Oct 29 #Python
详解python的super()的作用和原理
Oct 29 #Python
Python生成pdf目录书签的实例方法
Oct 29 #Python
利用python清除移动硬盘中的临时文件
Oct 28 #Python
python实现一个简单RPC框架的示例
Oct 28 #Python
You might like
php session和cookie使用说明
2010/04/07 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
Python 串口通信的实现
2020/09/29 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
教师四风问题整改措施
2014/09/25 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
2019通用版导游词范本!
2019/08/07 职场文书