守护进程demon.c

Posted 自由石匠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了守护进程demon.c相关的知识,希望对你有一定的参考价值。

 1 #include <stdio.h>
 2 #include <unistd.h>
 3 #include <errno.h>
 4 #include <time.h>
 5 #include <stdlib.h>
 6 
 7 int main()
 8 {
 9     pid_t pid;
10     pid = fork();
11     if (pid <0)
12        {
13            perror("fail to fork");
14            exit(1);
15        }  
16     if (pid == 0)
17        {
18            setsid();//在子进程中创建新会话
19            chdir("/tmp");//改变目录
20            umask(0);//重设文件权限掩码
21            int i;
22            for (i = 0;i<getdtablesize();i++)
23                {
24                    close(i);//关闭所有打开的文件描述符
25                }
26            FILE *fp_w;
27            time_t t;
28            fp_w = fopen("time.log","a");
29            if (fp_w == NULL)
30                {
31                     perror("fail to fopen fp_w");
32                     exit(1);
33 }
34
35 while (1) 36 { 37 time(&t);//获取系统时间的秒数 38 fprintf(fp_w,"%s\\n",ctime(&t));//将秒数转化为字符 39 sleep(1); 40 fflush(fp_w);//刷新 41 } 42 } 43 else 44 { 45 exit(0); 46 } 47 return 0; 48 }

 gcc编译之后 用ps ajx命令查看一下进程

以上是关于守护进程demon.c的主要内容,如果未能解决你的问题,请参考以下文章

守护进程守护进程创建代码实现获取系统时间

20. Gradle编译其他应用代码流程(七) - 守护进程编译

守护线程与守护进程

DBUS 代码在放置在守护进程中时崩溃,但在没有守护进程代码的独立独立 main() 函数中运行良好

python基础-守护进程守护线程守护非守护并行

守护进程