编写守护进程
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,1)创建子进程,父进程退出2)在子进程中创建新会话setsid()函数,用于创建一个新会话,并担任会话组的组长。调用setsid()函数有三个作用:让进程摆脱原会话的控制让进程摆脱原进程组的控制让进程
千家信息网最后更新 2025年02月04日编写守护进程
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安全错误
数据库的锁怎样保障安全
陈酿数据库的微博
mysql数据库的事务
设备安全服务器错误
pacs在线存储管理服务器
win10数据库配置文件
罪恶都市下载软件开发
崩坏3中华为是哪个服务器
上海市文明城市网络安全
纸飞机如何设置代理服务器
包河区企业网络技术服务有哪些
中国高铁网络技术有限公司
昆山方案软件开发代理商
自考数据库系统原理题
金山区市场软件开发成本价
软件开发团队情况调研
字段互联网杭州科技有限公司
广州系统软件开发
开原行业专业软件开发
信息管理系统软件开发工具
数据库安全审计平台中标
微信属于互联网还是科技类产品
rd350服务器bios设置
税务局网络安全竞赛
推动网络安全周成都
北京班信网络技术干啥的
幼儿园网络安全保障实施方案
软件开发策划方案模板
万方查重数据库和知网差别
网络文明网络安全宣传活动
互联网科技平台汇承比较安全