当前位置: 首页 > news >正文

Webserver(2.8)守护进程

目录

  • 守护进程案例

守护进程案例

每隔2s获取系统时间,将这个时间写入到磁盘文件中

#include<stdio.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/time.h>
#include<signal.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>void work(int num){//捕捉到信号之后,获取系统时间,写入磁盘文件time_t tm=time(NULL);struct tm * loc=localtime(&tm);// char buf[1024];// sprintf(buf,"%d-%d-%d %d:%d:%d\n",loc->tm_year,// loc->tm_mon,loc->tm_mday,loc->tm_hour,loc->tm_min,loc->tm_sec);//printf("%s\n",buf);char * str =asctime(loc);int fd=open("time.txt",O_RDWR|O_CREAT|O_APPEND,0664);write(fd,str,strlen(str));close(fd);}int main(){//1.创建子进程,退出父进程pid_t pid=fork();if(pid>0){exit(0);}//2.将子进程提升为会话setsid();//3.设置掩码umask(022);//4.更改工作目录chdir("/home/nowcoder/");//5.关闭、重定向文件描述符int fd=open("/dev/null",O_RDWR);dup2(fd,STDIN_FILENO);dup2(fd,STDOUT_FILENO);dup2(fd,STDERR_FILENO);//6.业务逻辑struct sigaction act;act.sa_flags=0;act.sa_handler=work;sigemptyset(&act.sa_mask);sigaction(SIGALRM,&act,NULL);//捕捉定时信号struct itimerval val;val.it_value.tv_sec=2;val.it_value.tv_usec=0;val.it_interval.tv_sec=2;val.it_interval.tv_usec=0;//创建定时器setitimer(ITIMER_REAL,&val,NULL);//不让进程结束while(1){sleep(10);}return 0;}

在这里插入图片描述

http://www.lryc.cn/news/476865.html

相关文章:

  • HarmonyOS :
  • C# EF 使用
  • 简介Voronoi图Voronoi Diagrams
  • 硬件测试工程师之EMC项目-辐射抗扰度试验(RS)测试标准解析思维导图
  • H265编码丢帧问题分析
  • CentOS Linux教程(12)--常用编辑器
  • 【浏览器学习笔记】-- 浏览器检查jQuery是否加载
  • 大模型的提示学习
  • 2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能
  • 鸿蒙移动应用开发-------前篇
  • ROS(Robot Operating System)中,编写一个记录机器人速度并将其转换成轨迹
  • 了解bootstrap改造asp.net core MVC的样式模板
  • 【C++】对左值引用右值引用的深入理解(右值引用与移动语义)
  • 寻找符合要求的最长子串
  • 【vim文本编辑器gcc编译器gdb调试器】
  • 解决使用Golang的email库发送qq邮件报错short response,错误类型为textproto.ProtocolError
  • 为什么说高级工程师研究的不仅是器件的稳态,模拟器件的开关过程
  • Matlab实现白鲸优化算法(BWO)求解路径规划问题
  • SQLserver索引的优化和使用
  • Linux 安装nacos
  • 水仙花判断
  • 在VS中安装chatGPT
  • 算法笔记:Day-09(初始动态规划)
  • “探索未来医疗:生成式人工智能在医疗领域的革命性应用“
  • 数字IC后端实现Innovus 时钟树综合(Clock Tree Synthesis)典型案例
  • Matlab应用制作入门
  • 什么是声明式编程什么是函数式编程,打比方说明
  • SpringBoot+Shiro权限管理
  • 前端面试题22 | 什么是跨域问题?怎么解决?
  • HarmonyOS Next星河版笔记--界面开发(3)