守护进程
守护进程(Daemon)是一种运行在后台的特殊进程,守护进程为专属的进程服务,并且当该专属进程中断后守护进程也同时中断,在开发中可以利用守护进程做一些特殊的系统任务。

守护进程的代码示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| import multiprocessing as mtp,time def status(): item = 1 while True: print("[守护进程ID: %s、守护进程名称:%s] item = %s" % ( mtp.current_process().pid, mtp.current_process().name,item)) item += 1 time.sleep(1)
def worker(): daemon_process = mtp.Process(target=status, name="守护进程", daemon=True) daemon_process.start() for item in range(10): print("[工作进程ID:%s、工作进程名称:%s] item = %s" % ( mtp.current_process().pid, mtp.current_process().name,item)) time.sleep(2) def main(): worker_process = mtp.Process(target=worker,name="工作进程") worker_process.start() if __name__ == "__main__": main()
|
运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| D:\Program_software_list\Anaconda3_5\python.exe F:/Learn/Python/untitled1/test.py [工作进程ID:35720、工作进程名称:工作进程] item = 0 [守护进程ID: 38124、守护进程名称:守护进程] item = 1 [守护进程ID: 38124、守护进程名称:守护进程] item = 2 [工作进程ID:35720、工作进程名称:工作进程] item = 1 [守护进程ID: 38124、守护进程名称:守护进程] item = 3 [守护进程ID: 38124、守护进程名称:守护进程] item = 4 [工作进程ID:35720、工作进程名称:工作进程] item = 2 [守护进程ID: 38124、守护进程名称:守护进程] item = 5 [守护进程ID: 38124、守护进程名称:守护进程] item = 6 [工作进程ID:35720、工作进程名称:工作进程] item = 3 [守护进程ID: 38124、守护进程名称:守护进程] item = 7 [守护进程ID: 38124、守护进程名称:守护进程] item = 8 [工作进程ID:35720、工作进程名称:工作进程] item = 4 [守护进程ID: 38124、守护进程名称:守护进程] item = 9 [守护进程ID: 38124、守护进程名称:守护进程] item = 10 [工作进程ID:35720、工作进程名称:工作进程] item = 5 [守护进程ID: 38124、守护进程名称:守护进程] item = 11 [守护进程ID: 38124、守护进程名称:守护进程] item = 12 [工作进程ID:35720、工作进程名称:工作进程] item = 6 [守护进程ID: 38124、守护进程名称:守护进程] item = 13 [守护进程ID: 38124、守护进程名称:守护进程] item = 14 [工作进程ID:35720、工作进程名称:工作进程] item = 7 [守护进程ID: 38124、守护进程名称:守护进程] item = 15 [守护进程ID: 38124、守护进程名称:守护进程] item = 16 [工作进程ID:35720、工作进程名称:工作进程] item = 8 [守护进程ID: 38124、守护进程名称:守护进程] item = 17 [守护进程ID: 38124、守护进程名称:守护进程] item = 18 [工作进程ID:35720、工作进程名称:工作进程] item = 9 [守护进程ID: 38124、守护进程名称:守护进程] item = 19 [守护进程ID: 38124、守护进程名称:守护进程] item = 20
进程已结束,退出代码0
|
总结
当工作进程执行完毕之后,与之相伴的守护进程也随之消失,守护进程是为了某一个特定功能进程的存在而存在的一种特殊的进程,很多的系统服务都可以依靠守护进程进行一些后台的服务处理。