编写守护进程
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1)创建子进程,父进程退出2)在子进程中创建新会话setsid()函数,用于创建一个新会话,并担任会话组的组长。调用setsid()函数有三个作用:让进程摆脱原会话的控制让进程摆脱原进程组的控制让进程
千家信息网最后更新 2025年12月02日编写守护进程
1)创建子进程,父进程退出
2)在子进程中创建新会话
setsid()函数,用于创建一个新会话,并担任会话组的组长。调用setsid()函数有三个作用:
让进程摆脱原会话的控制
让进程摆脱原进程组的控制
让进程摆脱原控制终端的控制
3) 用chdir()函数改变工作目录
4)用umask()设置文件权限掩码
5) 关闭文件描述符
#include
#include #include #include #include #include int main(int argc, const char *argv[]){ pid_t pid; int i,fd; char *buf = "This is a Daemon log\n"; pid = fork(); if(pid < 0) { perror("fail to fork\n"); exit(0); } if(pid > 0) //父进程退出 第一步 { exit(0); } setsid(); //第二步 chdir("/tmp"); //第三步 umask(0); //第四步 for(i = 0;i < getdtablesize();i++) //第五步 循环删除文件描述符 { close(i); } while(1) { if((fd = open("daemon.log",O_CREAT|O_RDWR|O_APPEND,0667))<0) { perror("fail to open"); exit(1); } write(fd,buf,strlen(buf)); close(fd); sleep(2); } return 0;}
进程
控制
函数
文件
三个
作用
权限
目录
组长
终端
建子
新会
中创
工作
循环
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安卓软件开发等级
济南阿顿网络技术有限公司
剑灵浙江服务器
数子引擎深圳网络技术
数据库 rm -rf
海康综合管理平台服务器
香港德威互联网科技有限公司
电商软件开发运行
数据库e-r模型实习心得
国家网络安全测评中心
简述面对网络安全威胁
用友服务器怎么启动
杭州华东软件开发研究院
墨尔本软件开发报价
金现代软件开发工资多少
宿迁小型网络技术解决方案
无线网络技术教程 清华
最重要的软件开发
无法连接iphone软件更新服务器
四川商城软件开发报价
襄阳java软件开发
国泰国际集团有限公司软件开发
实况足球2022球员数据库
刷新服务器
网络安全托班PPT
光电信息处理与通信网络技术
互联网数据库试题
逻辑数据库设计的目的
一站式网络技术推广怎么样
天水樱桃网络技术白银分公司