摘要:进程相关知识点
进程有三种类型:①交互进程,②批处理进程,③守护进程
交互进程:和终端相关,可以在前台进行,也可以在后台运行,关闭终端,进程结束。
批处理进程:跟终端无关,可以将指定的进程放在一个工作队列中按照顺序执行,一般由系统管理。
守护进程:与终端无关,并且在后台一直某些事件或者等待某些事件响应。列如,我们电脑上插入U盘时,电脑会立即识别,识别U盘这个程序我们并没有做任何操作,它是一直在后台运行着的,这便是守护进程。
今天我要讲的便是如何创建一个守护进程,守护进程创建一般有六个步骤,分别是:
1)创建进程(fork()函数),父进程退出(exit( )函数)让子进程变为孤儿进程,让其转到后台运行;
2)让子进程脱离原本会话(setsid()函数)(意思是即使关闭终端也可以执行);
3)修改当前工作路径(chdir()函数,这一步非必要,但建议也执行);
4)重设文件权限掩码(umask(0) 函数 “0”代表原本权限是多少就是多少,这一步也是非必要,但建议也执行)
5)删除进程中所有文件描述符(getdtablesize()函数 返回的是最高的文件描述符,可用循环删除),为了让守护进程更加稳定。
6)用while