IOday4

news2024/11/15 23:58:50

一、思维导图

二、练习

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.coloradmin.cn/o/1964278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享:Vue3中如何使用echarts工具开发可视化图表

官方链接 点此进入 导入 import * as echarts from echarts 页面 <div id vdrBarChart style"height: 300px;width: 500px;"></div> 调用 //DOM 更新完成后&#xff0c;延时100ms执行setBarChart方法this.$nextTick(() > {setTimeout(() >…

电路设计-基础2-电阻电容

电路设计-基础2-电阻电容 分立元件常见的分立元件及其功能分立元件的特点 电阻**注意**电阻种类1. 直插电阻&#xff08;色环电阻&#xff09;2. 贴片电阻&#xff08;SMD电阻&#xff09;3. 电位器&#xff08;可变电阻器,滑动变阻器&#xff09;4. 热敏电阻&#xff08;NTC/P…

如何解决部分设备分辨率不适配

1&#xff09;如何解决部分设备分辨率不适配 2&#xff09;Unity中如何实现草的LOD 3&#xff09;使用了Play Asset Delivery提交版本被Google报错 4&#xff09;如何计算弧线弹道的落地位置 这是第396篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热门话题&#xff0c;…

运筹说 第120期 | 确定型存储模型

上一期我们一起学习了存储问题及其基本概念&#xff0c;本期小编将带大家学习确定型存储模型的相关内容。 下面我们一起来学习确定型存储模型的五个基础模型吧&#xff01; 模型一&#xff1a;不允许缺货&#xff0c;补充时间极短 为了便于描述和分析&#xff0c;对模型作如下…

基于视觉的语义匹配见多了,那基于雷达的呢?

论文题目&#xff1a; LiDAR-based HD Map Localization using Semantic Generalized ICP with Road Marking Detection 论文作者&#xff1a; Yansong Gong, Xinglian Zhang, Jingyi Feng, Xiao He and Dan Zhang 作者单位&#xff1a;北京驭势科技有限公司 导读&#xff…

【C++哈希应用】模拟实现STL中的unordered_map和unordered_set

目录 &#x1f680; 前言一&#xff1a; &#x1f525; 哈希表的改造1.1 模板参数列表的改造1.2 增加迭代器操作 二&#xff1a; &#x1f525; 封装unordered_map和unordered_set 2.1 unordered_map的模拟实现&#xff1a;2.1.1 unordered_map的测试 2.2 unordered_set的模拟实…

图像自定义画框box标注,坐标像素点获取;通过坐标点画框

1、jupyter-bbox-widget画框&#xff0c;这只能jupyter环境插件使用 pip install jupyter_bbox_widget ##安装 ##注册 jupyter nbextension enable --py --sys-prefix jupyter_bbox_widget使用 from jupyter_bbox_widget import BBoxWidget widget BBoxWidget(imagefruit.jp…

【深度学习】kaggle使用

https://blog.csdn.net/2301_78630677/article/details/133834096 https://blog.csdn.net/xiaojia1001/article/details/139467176 https://www.kaggle.com/ 使用要挂代理&#xff0c;要不然可能无法注册 绑定手机号之后才能使用GPU 每周30h免费GPU使用时长 上传数据集 Ad…

【文件解析漏洞】

使用windows2003sever服务器 第一个&#xff1a;目录解析 1、打开网站目录&#xff0c;右键打开资源管理器 新建一个1.asp文件 在1.asp目录下新建一个2.txt&#xff0c;输入asp的语句 2、使用本机访问windows2003的IP地址 访问http://192.168.189.155/1.asp/2.txt即可 第…

Minio多主机分布式 docker-compose 集群部署

参考 docker-compose搭建多主机分布式minio - 会bk的鱼 - 博客园 (cnblogs.com) 【运维】docker-compose安装minio集群-CSDN博客 Minio 是个基于 Golang 编写的开源对象存储套件&#xff0c;虽然轻量&#xff0c;却拥有着不错的性能 中文地址&#xff1a;MinIO | 用于AI的S3 …

CDP问卷调查

在数字化时代&#xff0c;CDP&#xff08;Customer Data Platform&#xff0c;客户数据平台&#xff09;作为连接企业与客户数据的关键桥梁&#xff0c;正逐渐成为企业营销策略中不可或缺的一环。为了更深入地理解CDP在企业中的应用现状、挑战与未来趋势&#xff0c;我们精心设…

A股探底强势反攻,量价齐声太漂亮

今天的A股探底回升&#xff0c;太阳线反攻&#xff0c;太漂亮了&#xff01;具体原因是这样的&#xff0c;盘面上出现2个重要变化&#xff0c;一起来看看&#xff1a; 1、今天两市低开高走&#xff0c;证券、人形机器人等板块掀起涨停潮&#xff0c;究竟是昙花一现还是有望迎来…

VMware虚拟机安装及虚拟机下安装ubuntu(附安装包)

VMware虚拟机安装及虚拟机下安装ubuntu 0 前期准备1 VMware安装2 VMware虚拟机下安装ubuntu2.1 配置虚拟机2.2 安装虚拟机ubuntu 3 在虚拟机中卸载Ubuntu参考 0 前期准备 1、VMware Wworkstation Pro安装包下载 官网-添加链接描述 百度网盘分享&#xff1a; 链接: VMware 提取…

【ThingsBoard初体验】本地编译踩坑记录

前言 这只是我自己的踩坑记录&#xff0c;以尽快启动项目为主&#xff0c;暂时不对编译出现的问题做深入分析。 第一次接触物联网项目&#xff0c;对于文章出现的问题&#xff0c;如果能帮到其他小伙伴&#xff0c;那是我的荣幸。 大佬们有更好的解决办法&#xff0c;也希望能够…

TypeError: Components is not a function

Vue中按需引入Element-plus时&#xff0c;报错TypeError: Components is not a function。 1、参考Element-plus官方文档 安装unplugin-vue-components 和 unplugin-auto-import这两款插件 2、然后需要在vue.config.js中配置webPack打包plugin配置 3、重新启动项目会报错 T…

消息中间件分享

消息中间件分享 1 为什么使用消息队列2 消息队列有什么缺点3 如何保证消息队列的高可用4 如何处理消息丢失的问题?5 如何保证消息的顺序性1 为什么使用消息队列 解耦、异步、削峰 解耦 不使用中间件的场景 使用中间件的场景 异步 不使用中间件 使用中间件 削峰 不使…

【redis】redis高可用 哨兵模式 一主二从三哨兵部署教程

哨兵模式&#xff1a;自动主从同步、自动选举主节点&#xff1b;基本可以满足大部分业务场景&#xff1b; 在针对大规模数据和高并发请求的场景、数据不能丢失&#xff0c;才需要用到集群模式。 本文教程基于redis3 , centos 8 stream操作系统&#xff0c;理论上来说 redis3也好…

利用 Python 制作图片轮播应用

在这篇博客中&#xff0c;我将向大家展示如何使用 xPython 创建一个图片轮播应用。这个应用能够从指定文件夹中加载图片&#xff0c;定时轮播&#xff0c;并提供按钮来保存当前图片到收藏夹或仅轮播收藏夹中的图片。我们还将实现退出按钮和全屏显示的功能。 C:\pythoncode\new\…

http协议深度解析——网络时代的安全与效率(1)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号&#xff1a;网络豆云计算学堂 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a; 网络豆的主页​​​​​ 目录 写在前面&#xff1a; 本章目的&#xff1a; …

【Python学习手册(第四版)】学习笔记11.1-赋值语句(分解赋值、序列赋值、解包等)及变量命名规则详解

个人总结难免疏漏&#xff0c;请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文主要对赋值语句的各种形式做详解&#xff0c;以非常通俗易懂的语言、循序渐进的方式&#xff0c;分别对单个、元组及列表分解、序列赋值、序列解包、多重目标…