创建守护进程
来源:互联网 发布:韦德场均数据 编辑:程序博客网 时间:2024/06/05 17:55
#include <sys/wait.h>int main(void)
{ pid_t pid; if ((pid = fork()) < 0) // 小于0表示error
{ // 创建第一个子进程 printf("fork1 error"); }
else if (pid == 0) // 等于0表示是子进程
{ // 进入第一个子进程 if ((pid = fork()) < 0) // 创建第二个子进程 printf("fork2 error"); else if (pid > 0) // 大于0表示父进程 exit(0); // 终止第一个子进程 // 第二个子进程在睡眠2S后才执行,这样一般情况下第一个子进程会先终止 sleep(2); // 这时,第一个子进程肯定终止了,它的父进程就自动变成了init
// 如果有需要的话,改变从父进程继承来的环境
setsid(); // 创建一个新会话组并担任组长,摆脱原会话、原进程组、原终端的控制; 调用失败返回-1,调用成功返回新的会话ID
chdir("/"); // 改变当前目录为根目录
umask(0); // 权限掩码:umask值002 所对应的文件和目录创建缺省权限分别为6 6 4(666 减 2)和7 7 5(777 减 2)
int i;
for(i=0; i<getdtablesize(); i++)
{
close(i); // 继承了已打开的文件,关闭不需要用的文件描述符
}
printf("second child, parent pid = %d\n", getppid());
exit(0); // 第二个子进程,它终止后,因为它父进程结束,所以会被init进程回收,不会成为僵尸进程。 } // 父进程等待并回收第一个子进程 if (waitpid(pid, NULL, 0) != pid) printf("waitpid error"); // 父进程执行到这里以后,还可以执行其他的任务。
exit(0);}
阅读全文
0 0
- 创建守护进程步骤
- 守护进程 创建 详解
- python 创建守护进程
- 如何创建守护进程
- 守护进程的创建
- 如何创建守护进程
- 创建守护进程
- 守护进程创建步骤
- golang 创建守护进程
- linux创建守护进程
- 创建守护进程 daemon
- 创建守护进程
- 创建守护进程
- Linux 守护进程创建
- 创建守护进程
- 创建守护进程
- Linux创建守护进程
- 守护进程创建步骤
- HTML基础学习-12-CSS class id 控件样式定义
- USB总线专题(一)——基础知识
- 《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误
- java 后台项目 上传文件放置路径
- Java:Hessian框架使用
- 创建守护进程
- 一:jvm 虚拟机类加载机制
- 自己写Linux Usb鼠标驱动程序
- Android中利用HttpURLConnection完成Get和Post请求
- pycharm快捷键及一些常用设置
- 从B 树、B+ 树、B* 树谈到R 树
- ORA-00119: invalid specification for system parameter LOCAL_LISTENER ORA-00132: syntax error or unre
- HTML基础学习-13- 颜色值属性定义
- |BZOJ 1651|差分序列|[Usaco2006 Feb]Stall Reservations 专用牛棚