linux下创建后台守护进程实例
来源:互联网 发布:dvi线和vga线的端口 编辑:程序博客网 时间:2024/06/11 12:48
步骤:
1. 父进程通过fork函数创建一个子进程,然后父进程退出
2. 子进程中使用setsid函数创建一个新的会话
3. 切换进程的工作目录到根目录
4. 设置进程的umask为0
5. 关闭不需要的文件操作符
实例代码:
#include <stdio.h>
#incude <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/select.h>
#include <sys/time.h>
int main(int argc, char* argc)
{
pid_t pid, sid;
// 创建一个子进程
pid = fork();
if (pid < 0)
{
perror("fork");
exit(EXIT_FAILURE);
}
if (pid > 0)
{
//主进程退出
exit(EXIT_SUCCESS);
}
// 子进程中,创建一个新的会话
if ((sid = setsid()) < 0)
{
perror("setsid");
exit(EXIT_FAILURE);
}
// 重新设置文件权限模式
umask(0);
//关闭从主进程中继承来的不需要的输入输出描述符
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
// 实现守护进程需完成的工作
int i = 0;
//struct timeval
//{
// long tv_sec; //seconds
// long tv_usec; // microseconds
//};
// long tv_sec; //seconds
// long tv_usec; // microseconds
//};
struct timeval;
timeval.tv_sec = 1;
timeval.tv_usec = 0;
while(i < 10000)
{
printf("To do your work\n");
select(0, NULL, NULL, NULL, &timeval);
}
return 0;
}
- linux下创建后台守护进程实例
- Linux下后台守护进程
- Linux下后台守护进程的编写实例
- Linux下后台守护进程的编写实例
- Linux 下创建守护进程
- Linux 后台守护进程
- Linux下守护进程的创建
- Linux下守护进程的创建
- Linux下守护进程的创建过程
- Linux下守护进程的创建例子
- linux下守护进程创建步骤解剖
- Linux 下,如何创建守护进程
- Linux 下,如何创建守护进程
- linux下创建守护进程(daemon process)
- linux下创建守护进程(daemon process)
- linux下创建守护进程01
- Linux 下,如何创建守护进程
- linux下使用c++创建守护进程
- 解决 :php 无法定位程序输入点 于动态链接库
- quartz学习
- User Agent Switcher
- 各种颜色RGB代码
- grails代理服务器设置
- linux下创建后台守护进程实例
- TDLS应用与协议
- Java类的设计原则
- gtk之G_LIKELY(expr)和G_UNLIKELY(expr)
- 解压缩带有中文名文件的ZIP包 .
- yii移到linux下遇到的问题
- 在后台定时刷新执行某项操作
- C#图像凸透镜简单实现
- gcc的基本使用方法