守护进程通常随系统启动,在系统关闭时终止,在系统后台周期性的执行一些日常事务。
编程规则:
1、调用fork,生成子进程,在父进程返回时,直接exit。此时,子进程非进程组的组长;子进程有新的不同于父进程的进程ID;会话ID继承自父进程。
2、调用setsid,创建新的会话。此时,子进程成为新会话的首进程;同时子进程同时设置为该进程组的组长;此时进程已经脱离终端。考虑到进程组长可以重新打开终端,可通过再次fork,使得父进程在返回时exit,子进程继续运行,此时。子进程继承了父进程的会话ID,进程组组长ID,但子进程本身非进程组组长,无权打开新的终端。
3、切换当前工作目录为根目录。或者其他目录。保证系统存储介质不因守护进程的运行而无法卸载。
4、umask(0)更改进程的创建文件掩码。
5、关闭文件包描述符。
阅读(882) | 评论(0) | 转发(0) |