守护进程

守护进程

一、什么是守护进程

  • 守护进程 (daemon) 是在计算机系统启动时就已经运行,并且一直在后台运行的一类特殊进程。
  • 它们通常不与用户直接交互,也不接受标准输入和输出,而是在后台执行某种任务或提供某种服务。
  • 守护进程往往是由系统管理员手动启动的,它们可以在系统启动时自动启动,一直运行在后台,直到系统关闭或被停止。
  • 常见的守护进程包括网络服务 (如 web 服务器、邮件服务器、 ftp 服务器等)、日志记录系统 (如系统日志服务、应用程序日志服务等) 等。
  • 守护进程通常在后台运行,不需要用户交互,并且有较高的权限,因此编写守护进程需要特别注意安全性和稳定性。

二、守护进程适用的情况

  • 主进程已死亡而子进程未死亡
from multiprocessing import Process
import time


def run():
    print('子进程开始!')
    time.sleep(1)
    print('子进程结束!')


if __name__ == '__main__':
    print('主进程开始!')
    p = Process(target=run)
    p.start()
    print('主进程结束!')

"""
主进程开始!
主进程结束!
子进程开始!
子进程结束!
"""

三、守护进程使用方法

  • 注意:要在子进程开始之前声明守护进程
  • 将daemon设置为True的进程会随着主进程的关闭而关闭
from multiprocessing import Process
import time


def run():
    print('子进程开始!')
    time.sleep(1)
    print('子进程结束!')


if __name__ == '__main__':
    print('主进程开始!')
    p = Process(target=run)
    p.daemon = True
    p.start()
    print('主进程结束!')

# 主进程开始!
# 主进程结束!
posted @ 2024-04-09 20:30  桃源氏  阅读(68)  评论(0)    收藏  举报