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

IO进程线程 240826作业

作业 

创建3个进程,子进程1拷贝文件的前一半,子进程2拷贝后一半文件,父进程回收两个子进程资源。

将1.txt内容拷贝到2.txt中

#include <myhead.h>
int main(int argc, const char *argv[])
{pid_t pid1;pid1 = fork();int fd1 = open("./1.txt",O_RDWR);if(fd1==-1){perror("open");return -1;}int fd2 = open("./1.txt",O_RDWR);if(fd2==-1){perror("open");return -1;}int fd3 = open("./2.txt",O_RDWR);if(fd3==-1){perror("open");return -1;}if(pid1==0){char buf[100];int len = read(fd1,buf,sizeof(buf));write(fd3,buf,len/2);printf("拷贝成功\n");}else if(pid1>0){pid_t pid2;pid2 = fork();if(pid2==0){char buf[100];int len = read(fd2,buf,sizeof(buf));lseek(fd2,len/2,SEEK_SET);int len1 = read(fd2,buf,sizeof(buf));lseek(fd3,len/2,SEEK_SET);write(fd3,buf,len1);printf("拷贝成功\n");}else if(pid2>0){wait(NULL);wait(NULL);exit(EXIT_SUCCESS);}}else{perror("fork");return -1;}return 0;
}

运行结果:

知识梳理

进程

线程

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Graylog日志丢失解决方案
  • 人眼检测(单张图像)
  • 工作实战-项目压测记录
  • 如何使用cornerstone3D渲染3D影像
  • WEB应用服务器TOMCAT知识点
  • 8.26算法训练
  • 黑悟空!一区预定!原创首发!SLWCHOA-Transformer-LSTM混合改进策略的黑猩猩优化算法多变量时间序列预测
  • js中Map数据结构使用详细讲解
  • MySQL当表中新增加字段的时候,如何将该字段的值进行快速刷新成对应的值
  • 2024 AI 图像生成器工具合集
  • ssrf漏洞复现分析(1)
  • 网络安全售前入门03——审计类产品了解
  • 出现“此网站无法提供安全的连接,使用了不受支持的协议”的解决方法
  • Apache Doris安装部署
  • Catf1ag CTF Crypto(六)
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【EOS】Cleos基础
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • flutter的key在widget list的作用以及必要性
  • JavaScript设计模式之工厂模式
  • java正则表式的使用
  • Just for fun——迅速写完快速排序
  • leetcode讲解--894. All Possible Full Binary Trees
  • Mybatis初体验
  • SAP云平台里Global Account和Sub Account的关系
  • text-decoration与color属性
  • Vue组件定义
  • 规范化安全开发 KOA 手脚架
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 你真的知道 == 和 equals 的区别吗?
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 通过git安装npm私有模块
  • ​水经微图Web1.5.0版即将上线
  • # 达梦数据库知识点
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (function(){})()的分步解析
  • (Git) gitignore基础使用
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (一)SpringBoot3---尚硅谷总结
  • (一)基于IDEA的JAVA基础10
  • (原创)可支持最大高度的NestedScrollView
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)德国人的记事本
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .ai域名是什么后缀?
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .net dataexcel winform控件 更新 日志
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?