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

多进程思维导图

1> 思维导图

2> 使用父子进程完成两个文件的拷贝,父进程拷贝前一半,子进程拷贝后一半,两个进程同时进行(君子作业)

#include <myhead.h>
typedef struct sockaddr_in addr_in_t;
typedef struct sockaddr addr_t;
typedef struct sockaddr_un addr_un_t;

void zijincheng(int wfd,int rfd,int guang_biao){
	lseek(wfd,guang_biao/2,SEEK_SET);
	lseek(rfd,guang_biao/2,SEEK_SET);
	char ch ;
	for(int i=0;i<guang_biao/2;i++){
		int res = read(rfd,&ch,1);
		write(wfd,&ch,1);
		//if()abreak;
	}
	exit(0);

}
int main(int argc, const char *argv[])
{

	pid_t pid = fork();	
	int wfd = open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0664);
	if(wfd==-1){
		perror("write err:");
	}
	int rfd = open(argv[1],O_RDONLY);
	if(rfd==-1){
		perror("read err:");
	}


	int guang_biao = lseek(rfd,0,SEEK_END);
	if(pid == 0){
	zijincheng(wfd,rfd,guang_biao);
		//exit(0);
	}
	char ch;

	lseek(rfd,0,SEEK_SET);
	for(int i=0;i<guang_biao/2;i++){
		read(rfd,&ch,1);
		write(wfd,&ch,1);
	//	if(res == 0)break;
	}
	wait(NULL);

	return 0;
}


http://www.kler.cn/news/353886.html

相关文章:

  • 在ArcGISPro中使用 SAR 数据和深度学习绘制洪水地图
  • Android GPIO方式解码红外数据
  • LeetCode讲解篇之2320. 统计放置房子的方式数
  • 学习Redisson实现分布式锁
  • 【Linux系统编程】环境基础开发工具使用
  • ⭐ Unity Pico PXR_SDK转场淡入淡出
  • kimi帮我解决ubuntu下软链接文件夹权限不够的问题
  • 基础数据结构——用递归完成冒泡排序
  • 【大数据】HDFS DataNode节点下线
  • IOS每次查询数据时,当前滚动的位置会跑到底部?
  • wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理的解决方法
  • Python脚本之获取Splunk数据发送到第三方UDP端口
  • java01作业说明:
  • 机器学习:情感分析的原理、应用场景及优缺点介绍
  • 对TCP/IP、HTTP协议原理的分析和总结
  • C++学习笔记----9、发现继承的技巧(一)---- 使用继承构建类(4)
  • 雷达手势识别技术
  • C++ IO多路复用 poll模型
  • 前端学习-CSS的三大特性(十七)
  • python 爬虫 入门 一、基础工具