守护进程 demo程序
2012-05-24 15:46
204 查看
/* daemon.c 创建守护进程实例 */ /* 守护进程,是Linux中的后台服务进程。生存期长,独立于控制台,周期性地执行任务或者等待处理某些事件。 * 守护进程常在系统引导载入时启动,在系统关闭时终止。Linux的系统服务大多是通过守护进程实现的 * 守护进程脱离了对控制终端的依赖, * */ #include <stdlib.h> #include <stdio.h> #include <string.h> #include <fcntl.h> #include <sys/types.h> #include <unistd.h> #include <sys/wait.h> int main() { pid_t pid; int i, fd; char *buf = "This is a Daemon.\n"; pid = fork(); if (pid<0) { printf("Error fork \n"); exit(1); } else if (pid>0) { exit(0);/* 父进程退出 */ } setsid(); /* 创建一个新会话,拜托原会话和原控制终端的控制,使得子进程完全独立出来 */ chdir("/"); /* 让守护进程的当前工作目录为根目录。由于子进程继承了父进程的当前工作目录,那么子进程及守护进程运行期间,工作目录是不能卸载的,这会给系统使用造成很多麻烦。 */ umask(0); /* 改变文件权限掩码为0.默认是继承父进程的。 */ for (i=0; i<getdtablesize(); i++) { close(i); /* 关闭文件描述符:输入,输出及报错这三个文件 */ } while(1) { if( (fd=open("/tmp/daemon.log",O_CREAT|O_WRONLY|O_APPEND,0600)) < 0 ) { printf("Open file error!\n"); exit(1); } write(fd,buf,strlen(buf)+1); close(fd); sleep(10); } exit(0); }
相关文章推荐
- 【浅谈守护进程】Demo:后台监控程序-- Python实现
- python 写的一个Ice服务端在linux下面的守护进程程序
- 使用native程序来守护android进程
- PHP程序级守护进程的实现与优化的使用概述
- 守护进程程序的编写
- 用Linux守护进程检测某个程序是否运行
- python编写借助linux中的xinetd守护进程实现我们的网络程序(select、重定向标准输入输出)
- linux守护进程示例程序
- 启动一个程序使之成为守护进程
- Node.js进程守护,防止程序崩溃自动退出
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 守护进程
- [PHP学习教程 - 系统]002.模拟守护进程(Daemon)-程序永远在后台运行
- linux 守护进程与用&结尾的后台运行程序有什么区别
- 进程守护DaemonDemo源码.zip
- Linux中用守护进程检测程序运行
- c# 守护进程,WPF程序自守护
- linux守护进程形式运行java程序
- Java 实现程序运行状态监控 之我的思路(守护进程)
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 守护进程
- WayOs内置免拉黑,就是把免拉黑程序集成在WayOs内部,增加守护进程及修改访问参数立即生效