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

IOday4

一、思维导图

二、练习

1、使用父子进程完成两个文件的拷贝,父进程拷贝前一半内容,子进程拷贝后一半内容,子进程结束后退出,父进程回收子进程的资源

#include<myhead.h>
int main(int argc, const char *argv[])
{//判断终端输入if(argc != 3){printf("input error!\n");printf("usage:./a.out srcfilename destfilename\n");return -1;}//以只读的形式打开源文件,只写的形式打开目标文件int srcfd = -1;int destfd = -1;if((srcfd = open(argv[1],O_RDONLY)) == -1){perror("open src error");return -1;}if((destfd = open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0664)) == -1){perror("open dest error");return -1;}//拷贝//创建子进程pid_t pid = -1;pid = fork();//定义拷贝容器char buf[128];//父进程拷贝一半if(pid > 0){//循环将源文件数据加载到buf中while(1)	{printf("父进程拷贝\n");int res = read(srcfd,buf,sizeof(buf));if(res == 0){break;}//将读入buf中的数据写入目标文件write(destfd,buf,res);}}//子进程拷贝一半if(pid == 0){//循环将源文件数据加载到buf中while(1)	{printf("子进程拷贝\n");int res = read(srcfd,buf,sizeof(buf));if(res == 0){break;}//将读入buf中的数据写入目标文件write(destfd,buf,res);}//退出子进程exit(EXIT_SUCCESS);}//父进程阻塞为子进程收尸wait(NULL);printf("父进程为子进程收尸成功\n");//关闭文件描述符close(srcfd);close(destfd);printf("拷贝成功\n");return 0;
}

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

相关文章:

  • 智能座舱背后主流车机平台(SA8155/SA8295)的高通Hexagon DSP是什么?
  • linux进程控制——进程等待——wait、waitpid
  • Shell脚本的进程管理
  • JLink烧录失败
  • Monorepo简介
  • SpringBoot打包为jar包,打包前注意事项及打包教程
  • B端系统UI个性化设计:感受定制之美
  • 前端常用 utils 工具封装
  • 项目都做完了,领导要求国际化????--JAVA后端篇
  • 国内备受好评PostgreSQL数据库性能如何?
  • 彻底搞懂前端跨域解决方案
  • Kafka基础概念
  • 【论文阅读笔记】DeepCAD: A Deep Generative Network for Computer-Aided Design Models
  • 《如鸢》开通官号,女性向游戏爆款预定
  • OpenAI再下一城:发布Voice Engine,可使用文本和参考语音合成说话者的新语音!
  • KVM高级功能部署
  • 【C语言】柔性数组(打开前所未见的大门)
  • 设计模式17-适配模式
  • react ant Input defaultValue={value}设置了value值以后,但是defalult没有赋值上,输入框也没有显示
  • 大模型开发如何把一段文字变成一组token?
  • 【MSYS】Windows Terminal 集成
  • Python酷库之旅-第三方库Pandas(056)
  • ZBrush入门使用介绍——4、笔刷选项说明
  • Java每日一练,技术成长不间断
  • 传知代码-上下位关系自动检测方法(论文复现)
  • 从零开始的MicroPython(二) GPIO及代码应用
  • 嵌入式day15
  • 【电池管理系统(BMS)-01】 | 电池管理系统简介,动力电池和储能电池区别
  • C++ STL partial_sum 用法
  • 诚宜开张圣听不应妄自菲薄