产生守护进程的方法

1、在父进程下产生子进程。

2、关闭父进程,使子进程成为一个新会话的头进程和新进程组的头进程,从而与父进程所在的进程组和会话脱钩。

3、忽略SIGHUP信号,防止之后新产生的进程被关闭。

4、在子进程下(后面我们称这个子进程为父进程SP)再产生子进程,使之成为守护进程。这样做的原因是如果这时开启一个控制终端,父进程SP会自动获取控制终端,因为父进程SP为会话头进程,会话头进程会自动获取控制终端。从而不能成为守护进程。

5、关闭父进程SP。

6、改变工作目录为根目录,这样做的原因是如果守护进程在一个文件系统中产生,这个文件系统在需要卸载的时候就无法卸载

7、关闭本守护进程继承来的打开着的描述符。

8、打开/dev/null作为本守护进程的标准输入,输出,错误输出,这样做的原因是保证这三个常用描述符(为0,1,2)为打开着的,以防被其他命令占据这三个描述符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章