linux环境下的守护进程编写

(一)  概念

守护进程也成精灵进程(daemon),是一种运行在后台并且伴随着系统运行的整个周期的进程。守护进程一般是用来维护一些日常的事物活动的程序。比如用来侦听系统网络接口,以便取得来自网络的对各种网络服务进程的请求的Xinted进程,用来在制定的日期和时间执行制定命令的cron进程。

(二)  编程规则

(1)调用umask()将文件模式创建屏蔽字设置为0,由继承得来的文件模式创建屏蔽字可能会拒绝设置某些权限。

(2)调用fork(),然后使进程退出exit()   目的:setsid()调用的 前提条件

(3)调用setsid()以创建一个新会话,  使调用进程:

       (a)成为新会话的首进程   

       (b)成为一个新进程组的组长进程  

       (c)没有控制终端

 (4) 将当前工作目录改为根目录.   原因:从父进程处继承过来的当前工作目录可能在一个装配文件系统中

(5) 关闭不再需要的文件描述符

(6) 某些守护进程打开/dev/null使其具有文件描述符0,1,2,这样任何一个试图读标准输入,写标准输出或标准出错的库例程都不会产生任何效果

你可能感兴趣的:(linux环境下的守护进程编写)