守护进程
一、什么是守护进程
- 守护进程 (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('主进程结束!')
# 主进程开始!
# 主进程结束!