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

IO进程线程第五天(8.2)进程函数+XMind(守护进程(幽灵进程),输出一个时钟,终端输入quit时退出时钟)

1.守护进程(幽灵进程)

#include<stdio.h>
#include<head.h>
int main(int argc, const char *argv[])
{pid_t cpid = fork();if(0==cpid){   //创建新的会话pid_t sid=setsid();printf("sid=%d\n",sid);//修改运行目录为不可卸载的文件目录下chdir("/");//清空文件权限掩码umask(0);//关闭所有文件描述符for(int i=0;i<getdtablesize();i++)close(i);while(1){//守护进程运行的周期性代码}}   return 0;                                                                                                                                     
} 

2.输出一个时钟,终端输入quit时退出时钟

#include<stdio.h>
#include<head.h>
int main(int argc, const char *argv[])
{char a[20]="";pid_t cpid = fork();FILE *fp=fopen("1.txt","w");if(cpid>0){   sleep(1);scanf("%s",a);fputs(a,fp);fclose(fp);while(1){pid_t pid=waitpid(-1,NULL,WNOHANG);if(pid>0)break;}}   if(0==cpid)                                                                                                            {   FILE *fp=fopen("1.txt","r");time_t t;struct tm* info=NULL;while(1){    t=time(NULL);info = localtime(&t);printf("%d-%02d-%02d %02d:%02d:%02d\r",\info->tm_year+1900,info->tm_mon+1,info->tm_mday,\info->tm_hour,info->tm_min,info->tm_sec);fflush(stdout);sleep(1);fgets(a,5,fp);if(0==strcmp(a,"quit"))exit(0);}fclose(fp);}   return 0;
} 

 

 

 

 

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

相关文章:

  • 物联网远程智能控制设备——开关量/正反转百分比控制
  • echarts图表基本使用
  • 排序进行曲-v1.0
  • 算法入门篇——用位运算解决一些问题
  • 腾讯云-宝塔添加MySQL数据库
  • 【雕爷学编程】MicroPython动手做(27)——物联网之掌控板小程序
  • Mysql删除重复数据通用SQL
  • “快速入门Spring Boot:从零开始构建Web应用程序“
  • 微信小程序tab加列表demo
  • 深入挖掘地核和地幔之间的相互作用
  • 网络:SecureCRT介绍
  • 我的512天创作纪念日
  • mysql进阶-用户密码的设置和管理
  • 2023年最新智能优化算法之——切诺贝利灾难优化器 (CDO),附MATLAB代码和文献
  • uniapp跨域解决
  • 力扣-94、144、145-前中后序遍历
  • 什么是线程?为什么需要线程?和进程的区别?
  • 【业务功能篇61】SpringBoot项目流水线 dependencyManagement 标签整改依赖包版本漏洞问题
  • uniapp使用getStorage对属性赋值无效
  • 20230802-下载并安装android-studio
  • python 第九章 —— GUI界面开发(tkinter详解)
  • 线段树合并例题
  • Stable Diffusion 硬核生存指南:WebUI 中的 VAE
  • vue项目 前端加前缀(包括页面及静态资源)
  • 使用文心一言等智能工具指数级提升嵌入式/物联网(M5Atom/ESP32)和机器人操作系统(ROS1/ROS2)学习研究和开发效率
  • 【Rust 基础篇】Rust动态大小类型:理解动态大小类型与编写安全的代码
  • 【Python】使用nuitka打包Python程序为EXE可执行程序
  • 背景图片及精灵图
  • 简要介绍 | 生成模型的演进:从自编码器(AE)到变分自编码器(VAE)和生成对抗网络(GAN),再到扩散模型
  • 8.2Thread类的常见属性