博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下C语言实现守护进程
阅读量:2029 次
发布时间:2019-04-28

本文共 1006 字,大约阅读时间需要 3 分钟。

Table of Contents


守护进程的实现

守护进程初始化函数

#include 
#include
#include
#include
#include
#include
void init_deamon(){ int pid; int i; /*如果是父进程,结束*/ if(pid=fork()) { exit(0); } else if(pid<0) { exit(1); } /* 是第一子进程,后台继续执行 * 第一自己成成为新的会话组长和进程组长*/ setsid(); /*与控制终端分离*/ if(pid=fork()) { exit(0);//结束第一子进程 } else if (pid<0) { exit(1); } /** * 是第二子进程,继续 * 第二子进程不再是会话组长 * 关闭打开的文件描述符 */ for(i=0;i

写一个测试代码

#include 
#include
void init_deamon();int main(){ FILE *fp; time_t t; init_deamon(); while(1) { sleep(2);//每隔一分钟向test.log报告运行状态 if((fp=fopen("test.log", "a")) >= 0) { t = time(0); fprintf(fp, "I'm here at %s\n", asctime(localtime(&t))); fclose(fp); } }}

编译后生成可执行文件

$ ./a.out $ more /tmp/test.log I'm here at Tue Feb 11 21:38:50 2020I'm here at Tue Feb 11 21:38:52 2020$ more /tmp/test.log I'm here at Tue Feb 11 21:38:50 2020I'm here at Tue Feb 11 21:38:52 2020I'm here at Tue Feb 11 21:38:54 2020

 

转载地址:http://jypaf.baihongyu.com/

你可能感兴趣的文章
mysql now的时间问题
查看>>
ZAO作一下,你会是谁
查看>>
C++开源库[转载]
查看>>
BIO_set_md
查看>>
资源标识符未定义
查看>>
Windows证书函数
查看>>
延迟加载DLL[转]
查看>>
CFileDialog的使用[转]
查看>>
windows7触屏编程
查看>>
WM_QUIT,WM_CLOSE区别[转]
查看>>
获得屏幕大小
查看>>
改变窗口大小,恢复以前的大小
查看>>
MFC最近文件列表的使用[转]
查看>>
向导对话框[转]
查看>>
MFC消息处理[转]
查看>>
windows7触屏操作API
查看>>
window7 触屏操作相关
查看>>
使用CSplitterWnd类静态分割的窗口的隐藏[转]
查看>>
ubuntu 下安装flash player
查看>>
CCNA学习指南第二章——OSI七层模型
查看>>