Linux系统编程(26)——守护进程

时间:2022-07-18 04:46:08

Linux系统启动时会启动很多系统服务进程,比如inetd,这些系统服务进程没有控制终端,不能直接和用户交互。其它进程都是在用户登录或运行程序时创建,在运行结束或用户注销时终止,但系统服务进程不受用户登录注销的影响,它们一直在运行着。这种进程有一个名称叫守护进程(Daemon)。

下面我们用ps axj命令查看系统中的进程。参数a表示不仅列当前用户的进程,也列出所有其他用户的进程,参数x表示不仅列有控制终端的进程,也列出所有无控制终端的进程,参数j表示列出与作业控制相关的信息。

aaarticlea/png;base64,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" alt="" />

凡是TPGID一栏写着-1的都是没有控制终端的进程,也就是守护进程。在COMMAND一列用[]括起来的名字表示内核线程,这些线程在内核里创建,没有用户空间代码,因此没有程序文件名和命令行,通常采用以k开头的名字,表示Kernel。init进程我们已经很熟悉了,udevd负责维护/dev目录下的设备文件,acpid负责电源管理,syslogd负责维护/var/log下的日志文件,可以看出,守护进程通常采用以d结尾的名字,表示Daemon。

创建守护进程最关键的一步是调用setsid函数创建一个新的Session,并成为Session Leader。

#include <unistd.h>
pid_t setsid(void);

该函数调用成功时返回新创建的Session的id(其实也就是当前进程的id),出错返回-1。注意,调用这个函数之前,当前进程不允许是进程组的Leader,否则该函数返回-1。要保证当前进程不是进程组的Leader也很容易,只要先fork再调用setsid就行了。fork创建的子进程和父进程在同一个进程组中,进程组的Leader必然是该组的第一个进程,所以子进程不可能是该组的第一个进程,在子进程中调用setsid就不会有问题了。

成功调用该函数的结果是:

创建一个新的Session,当前进程成为Session Leader,当前进程的id就是Session的id。

创建一个新的进程组,当前进程成为进程组的Leader,当前进程的id就是进程组的id。

如果当前进程原本有一个控制终端,则它失去这个控制终端,成为一个没有控制终端的进程。所谓失去控制终端是指,原来的控制终端仍然是打开的,仍然可以读写,但只是一个普通的打开文件而不是控制终端了。

#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h> void daemonize(void)
{
pid_t pid; /*
* Become a session leader to lose controllingTTY.
*/
if((pid = fork()) < 0) {
perror("fork");
exit(1);
}else if (pid != 0) /* parent */
exit(0);
setsid(); /*
* Change the current working directory to theroot.
*/
if(chdir("/") < 0) {
perror("chdir");
exit(1);
} /*
* Attach file descriptors 0, 1, and 2 to/dev/null.
*/
close(0);
open("/dev/null",O_RDWR);
dup2(0,1);
dup2(0,2);
} int main(void)
{
daemonize();
while(1);
}

为了确保调用setsid的进程不是进程组的Leader,首先fork出一个子进程,父进程退出,然后子进程调用setsid创建新的Session,成为守护进程。按照守护进程的惯例,通常将当前工作目录切换到根目录,将文件描述符0、1、2重定向到/dev/null。Linux也提供了一个库函数daemon(3)实现我们的daemonize函数的功能,它带两个参数指示要不要切换工作目录到根目录,以及要不要把文件描述符0、1、2重定向到/dev/null。