守护进程总结

1、后台执行

后台运行的最大特点是不再接收终端输入,托管法可以实现这一点。

pid_t pid;

pid = fork();

if(pid > 0)

exit(0);

2、独立于控件终端

在后台进程的基础上,脱离原来shell的进程组和session组,自立门户为新进程组的会话组长进程,与原终端脱离关系。

#include <unistd.h>

pid_t setsid();

函数setsid创建一个新的session和进程组。

3、清除文件创建掩码

进程清除文件创建掩码,代码如下:

umask(0);

4、处理信号

为了预防进程不等待子进程结束而导致子进程僵死,必须忽略或者处理SIGCHLD信号,其中忽略该信号的方法为:

signal(SIGCHLD, SIG_IGN);

守护进程独立于控制终端,它们一般以文件日志的方式进行信息输出。

你可能感兴趣的:(守护进程总结)