当前位置: 首页 > 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;
}

相关文章:

IOday4

一、思维导图 二、练习 1、使用父子进程完成两个文件的拷贝&#xff0c;父进程拷贝前一半内容&#xff0c;子进程拷贝后一半内容&#xff0c;子进程结束后退出&#xff0c;父进程回收子进程的资源 #include<myhead.h> int main(int argc, const char *argv[]) {//判断终…...

智能座舱背后主流车机平台(SA8155/SA8295)的高通Hexagon DSP是什么?

智能座舱背后主流车机平台(SA8155/SA8295)的高通Hexagon DSP是什么&#xff1f; 一、高通Hexagon DSP的辉煌发展历程 高通&#xff0c;作为全球领先的无线通信技术创新者&#xff0c;其处理器技术一直走在行业前列。随着智能手机和物联网设备的普及&#xff0c;对处理器性能的…...

linux进程控制——进程等待——wait、waitpid

前言&#xff1a;本节内容仍然是进程的控制&#xff0c;上一节博主讲解的是进程控制里面的进程创建、进程退出、终止。本节内容将讲到进程的等待——等待是为了能够将子进程的资源回收&#xff0c;是父进程等待子进程。 我们前面的章节也提到过等待&#xff0c; 那里的等待是进…...

Shell脚本的进程管理

进程管理是系统管理的重要方面&#xff0c;通过对进程的监控、启动、停止和重启&#xff0c;可以保证系统的稳定运行。Shell脚本是一种强大的工具&#xff0c;可以对进程进行自动化管理&#xff0c;提高效率和准确性。 参考&#xff1a;shell脚本进程管理 - CSDN文库 shell脚本…...

JLink烧录失败

1. 现象&#xff1a; 这个位置是灰色的&#xff0c;没有SW Device信息。 MDK下面的打印&#xff1a; J-Flash的打印&#xff1a; windows上面的弹框的现象没有截屏。 2. 解决办法&#xff1a; 1.打开J-Link Commander,输入unlock kinetis&#xff0c;看现象不起作用,网…...

Monorepo简介

Monorepo 第一章&#xff1a;与Monorepo的邂逅第二章&#xff1a;Multirepo的困境第三章&#xff1a;Monorepo的魔力 - 不可思议的解决问题能力第四章&#xff1a;Monorepo的挑战与应对策略第五章&#xff1a;总结第六章&#xff1a;参考 第一章&#xff1a;与Monorepo的邂逅 …...

SpringBoot打包为jar包,打包前注意事项及打包教程

在打包 Spring Boot 项目为 JAR 包之前&#xff0c;有一些重要的注意事项和步骤&#xff0c;以确保打包过程顺利并生成一个可正常运行的 JAR 包&#xff1a; 1. 检查依赖和版本 确保所有依赖项和插件版本是最新且兼容的&#xff0c;特别是 Spring Boot 版本和其相关依赖的版本…...

B端系统UI个性化设计:感受定制之美

B端系统UI个性化设计&#xff1a;感受定制之美 引言 艾斯视觉作为ui设计和前端开发从业者&#xff0c;其观点始终认为&#xff1a;在当今竞争激烈的商业环境中&#xff0c;B端&#xff08;Business-to-Business&#xff09;系统的设计不再仅仅是功能性的堆砌&#xff0c;而是…...

前端常用 utils 工具封装

// 函数防抖 export function debounce(fn, interval) {let timerreturn function (this, ...args) {clearTimeout(timer)const context thislet params [...args]timer setTimeout(() > {fn.call(context, ...params)}, interval || 1000)} }// 函数节流 export functio…...

项目都做完了,领导要求国际化????--JAVA后端篇

springboot项目国际化相信各位小伙伴都会&#xff0c;很简单&#xff0c;但是怎么项目都做完了&#xff0c;领导却要求国际化文件就很头疼了 国际化的SpringBoot代码&#xff1a; 第一步&#xff1a;创建工具类 /*** 获取i18n资源文件** author bims*/ public class Message…...

国内备受好评PostgreSQL数据库性能如何?

为什么国内很多数据库采用PostgreSQL数据库作为基础&#xff0c;再次开发自己的产品呢?不仅仅是因为PostgreSQL数据库开源免费、PostgreSQL 数据库的性能也是相当出色的&#xff0c;具有以下几个方面的特点&#xff1a; 1. 处理大规模数据&#xff1a; - 能够有效地管理和处…...

彻底搞懂前端跨域解决方案

一、浏览器的同源策略 1、同源策略概述 同源策略是浏览器为确保资料安全&#xff0c;而遵循的一种策略&#xff0c;该策略对访问资源进行了一些限制。 2、什么是源&#xff08;origin&#xff09;&#xff1f; 3、示例 4、同源请求 5、非同源请求 二、跨域会受到哪些限制 1…...

Kafka基础概念

MQ消息中间件 1&#xff09;总览&#xff1a; 消息中间件 这里我们主要学习的是kafka的基础概念 具体参考黑马头条&#xff1a;https://www.bilibili.com/video/BV1Qs4y1v7x4/?spm_id_from333.337.search-card.all.click 2&#xff09;消息中间件对比 3&#xff09;Kafka介…...

【论文阅读笔记】DeepCAD: A Deep Generative Network for Computer-Aided Design Models

1 引言 现有3D生成模型&#xff1a; 3D点云&#xff1a;大量离散的3D点组成的数据表示形式&#xff1b; 多边形网格&#xff1a;一系列相连的多边形组成的3D模型&#xff1b; 水平集场&#xff1a;使用数值函数来表示物体的边界&#xff0c;并根据函数值的正负来确定物体内部…...

《如鸢》开通官号,女性向游戏爆款预定

今天&#xff0c;备受瞩目的沉浸式剧情卡牌手游《如鸢》正式开通了官方社媒账号并发布了玩家信。 《如鸢》由灵犀互娱倾力打造&#xff0c;游戏不仅拥有跌宕起伏的权谋剧情&#xff0c;更采用Live2D技术&#xff0c;为玩家带来沉浸式的游戏体验&#xff0c;吸引了众多玩家关注。…...

OpenAI再下一城:发布Voice Engine,可使用文本和参考语音合成说话者的新语音!

转自 机器学习算法工程师 OpenAI又发布了一个最新的工作&#xff1a;Voice Engine。Voice Engine可以使用文本输入和单个 15 秒音频样本生成听起来自然且与原始说话者非常相似的语音。而且&#xff0c;一个小型模型仅通过一个 15 秒的样本就能创造出富有情感且逼真的语音。Voi…...

KVM高级功能部署

一、概述 KVM&#xff08;Kernel-based Virtual Machine&#xff09;是一种基于内核的虚拟化技术&#xff0c;它依赖于CPU的虚拟化扩展&#xff08;如Intel VT和AMD-V&#xff09;来实现虚拟机的创建、管理和调度。KVM虚拟化技术因其高效、稳定的特点&#xff0c;在云计算和企…...

【C语言】柔性数组(打开前所未见的大门)

文章目录 前言柔性数组1.1 概念1.2 柔性数组的特点1.3 柔性数组的使用1.4 柔性数组的优势 总结 前言 说到柔性数组&#xff0c;相信有很多学过C语言的读者都不知道这是个什么东西。不过没有关系&#xff0c;相信本章能够带你从到认识到掌握柔性数组&#xff0c;做一个充满知识…...

设计模式17-适配模式

设计模式17-适配模式 动机定义与结构C代码推导总结应用具体应用示例 动机 在软件系统中由于应用环境的变化常常需要将一些现存的对象。放到新的环境中去应用。但是新环境要求的接口是这些现存对象所不满足的。那么这种情况下如何应对这种迁移的变化&#xff1f;如何既能利用现…...

react ant Input defaultValue={value}设置了value值以后,但是defalult没有赋值上,输入框也没有显示

在 React 中&#xff0c;defaultValue 是一个非受控属性&#xff0c;而 value 是一个受控属性。这两个属性都可以用于设置 Input 组件的值&#xff0c;但是它们的工作方式有所不同。 value&#xff1a;这是一个受控属性&#xff0c;意味着输入框的值由 React 状态控制。每当状态…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...