又要考试了

一、实现无名管道练习:父进程写入管道,子进程读取管道数据。

#include<myhead.h>
int main(int argc, const char *argv[])
{int fd[2];char buff[1024]="王吕阳,崔庆权别卷了";char s[1024];if(pipe(fd)==-1){perror("pipe");return -1;}pid_t pid = fork();if(pid==0){close(fd[1]);//关闭写端while(1){sleep(1);read(fd[0],s,sizeof(s));printf("展旗善意提醒:%s\n",s);}close(fd[0]);//关闭读端}else if(pid>0){close(fd[0]);//关闭读端while(1){sleep(1);write(fd[1],buff,sizeof(buff));}close(fd[1]);}else{perror("fork");return -1;}return 0;
}

二、有名管道练习实现一遍练习:创建2个子父进程,父进程写入管道1,子进程读取管道2,父进程写入管道2,子进程读取管道1,实现全双工通信。

#include<myhead.h>
int main(int argc, const char *argv[])
{int fd1 = open("./a",O_WRONLY);int fd2 = open("./b",O_RDONLY);char arr[1024];char brr[1024];if(fd1==-1||fd2==-1){perror("open");return -1;}pid_t pid = fork();if(pid>0){while(1){printf("请输入内容:");int res = read(0,arr,sizeof(arr));write(fd1,arr,res);}close(fd1);}else if(pid==0){while(1){int ress = read(fd2,brr,sizeof(brr));if(ress==0){printf("退出\n");break;}write(1,brr,ress);}close(fd2);}else{perror("fork");return -1;}return 0;
}
#include<myhead.h>
int main(int argc, const char *argv[])
{int fd1 = open("./a",O_RDONLY);int fd2 = open("./b",O_WRONLY);char arr[1024];char brr[1024];if(fd1==-1||fd2==-1){perror("open");return -1;}pid_t pid = fork();if(pid>0){while(1){printf("请输入内容:");int ress = read(0,brr,sizeof(brr));write(fd2,brr,ress);}close(fd2);}else if(pid==0){while(1){int res = read(fd1,arr,sizeof(arr));if(res==0){printf("退出\n");break;}write(1,arr,res);}close(fd1);}else{perror("fork");return -1;}return 0;
}

三、进程间通信信号的默认,忽略,捕获实现一遍。

#include<myhead.h>
void a(int b)
{if(b==SIGTSTP){printf("A\n");}
}
int main(int argc, const char *argv[])
{
/*	if(signal(SIGINT,SIG_IGN)==SIG_ERR){perror("signal");return -1;}if(signal(SIGINT,SIG_DFL)==SIG_ERR){perror("signal");return -1;}*/if(signal(SIGTSTP,a)==SIG_ERR){perror("signal");return -1;}int k=0;while(1){sleep(1);printf("按k=%d\n",k);k++;}return 0;
}

四、思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/491720.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity添加newtonsoft-json

package name "com.unity.nuget.newtonsoft-json": "3.2.1",打开包管理器 输入包名称和版本 点击添加

HarmonyOS:多线程并发-Worker

Worker主要作用是为应用程序提供一个多线程的运行环境&#xff0c;可满足应用程序在执行过程中与宿主线程分离&#xff0c;在后台线程中运行一个脚本进行耗时操作&#xff0c;极大避免类似于计算密集型或高延迟的任务阻塞宿主线程的运行。具体接口信息及使用方法详情请见Worker…

JMeter配置原件-计数器

一、面临的问题&#xff1a; 由于本人的【函数助手对话框】中counter计数器每次加2&#xff0c;且只显示偶数(如下图所示)&#xff0c;因此借助【配置原件-计数器】来实现计数功能。 如果有大佬知道解决方式&#xff0c;麻烦评论区解答一下&#xff0c;谢谢。 二、配置原件-c…

系统可观测性——Logback日志框架

摘要 Logback是一种Java日志框架&#xff0c;可以提供高度可配置的日志记录功能&#xff0c;包括级别控制和事件过滤等功能。它基于SLF4J&#xff08;Simple Logging Facade for Java&#xff09;日志抽象层&#xff0c;可以与多种流行的Java日志框架兼容&#xff0c;如Log4j和…

【自然语言处理与大模型】使用llama.cpp将HF格式大模型转换为GGUF格式

llama.cpp的主要目标是在本地和云端的各种硬件上以最小的设置和最先进的性能实现LLM推理。是一个专为大型语言模型&#xff08;LLM&#xff09;设计的高性能推理框架&#xff0c;完全使用C和C编写&#xff0c;没有外部依赖&#xff0c;这使得它可以很容易地被移植到不同的操作系…

NVR小程序接入平台EasyNVR设置预置位显示“参数错误”的解决方法

视频监控技术在现代社会中的应用已经变得越来越广泛&#xff0c;从城市安防到家庭安全&#xff0c;从交通管理到商业监控&#xff0c;其作用无处不在。随着科技的不断进步&#xff0c;视频监控不仅提高了安全性&#xff0c;还带来了许多新的机遇和挑战。 近期&#xff0c;我们收…

【MySQL】InnoDB引擎中的Compact行格式

目录 1、背景2、数据示例3、Compact解释【1】组成【2】头部信息【3】隐藏列【4】数据列 4、总结 1、背景 mysql中数据存储是存储引擎干的事&#xff0c;InnoDB存储引擎以页为单位存储数据&#xff0c;每个页的大小为16KB&#xff0c;平时我们操作数据库都是以行为单位进行增删…

达梦查询表字段详细信息脚本(字段名称、描述、类型、长度及是否为空)

达梦查询表字段详细信息脚本&#xff08;字段名称、描述、类型、长度及是否为空&#xff09; 该SQL 脚本&#xff0c;用于查询表中字段的基本信息&#xff0c;包括字段名称、描述、数据类型、数据长度、是否为空及是否为主键等属性。 SQL 脚本 -- 输入变量 DECLAREp_owner VA…

YashanDB共享集群产品能力观测:细节足见功底

本文基于前泽塔数科研发总监-王若楠2024年11月在“2024年国产数据库创新生态大会”-“根”技术专场的演讲整理形成&#xff0c;主要对崖山共享集群YAC的架构、功能、高可用性、性能四大方面进行全面测试&#xff0c;并分享了测试环境和测试结论。 年初&#xff0c;基于某些商业…

[C++]类的继承

一、什么是继承 1.定义&#xff1a; 在 C 中&#xff0c;继承是一种机制&#xff0c;允许一个类&#xff08;派生类&#xff09;继承另一个类&#xff08;基类&#xff09;的成员&#xff08;数据和函数&#xff09;。继承使得派生类能够直接访问基类的公有和保护成员&#xf…

无人机节气门控制技术概述!

一、无人机节气门信号特点 无人机节气门信号主要用于调节无人机的发动机输出功率&#xff0c;其特点主要包括&#xff1a; 高精度&#xff1a;节气门信号需要高精度地反映发动机的转速、功率等状态&#xff0c;以确保无人机能够准确、稳定地飞行。 实时性&#xff1a;无人机…

机器学习之 K-Means

1. 什么是 K-Means&#xff1f; K-Means 是一种常用的无监督学习算法&#xff0c;主要用于聚类分析任务。其目标是将数据集划分为 K 个不同的簇&#xff0c;使得同一簇内的数据点之间的相似性更高&#xff0c;而不同簇的数据点差异更大。K-Means 算法使用了一个简单而有效的迭…

智慧公交指挥中枢,数据可视化 BI 驾驶舱

随着智慧城市的蓬勃发展&#xff0c;公共交通作为城市运营的核心枢纽&#xff0c;正朝着智能化和数据驱动的方向演进。通过整合 CAN 总线技术(Controller Area Network&#xff0c;控制器局域网总线)、车载智能终端、大数据分析及处理等尖端技术&#xff0c;构建的公交“大脑”…

盲盒3.0版h5版-可打包app-新优化版紫色版

整体界面ui美观大气&#xff0c;盲盒项目也是一直比较热门的&#xff0c;各大平台一直自己也有做。 感兴趣的小伙伴可以搭建做自己的项目。盲盒项目的利润率还是很大的。

如何理解符号引用和直接引用?

我们知道在 JVM 中类加载总共使用 5 步组成的&#xff0c;而类的生命周期总共有 7 个阶段&#xff0c;如下图所示&#xff1a; 其中每步的含义如下&#xff1a; 1.加载 加载&#xff08;Loading&#xff09;阶段是整个“类加载”&#xff08;Class Loading&#xff09;过程中…

海康萤石摄像机接入EasyNVR流程:开启RTSP-》萤石视频添加到EasyNVR-》未来支持海康SDK协议添加到EasyNVR

EasyNVR目前支持GB28181、RTSP、ONVIF、RTMP&#xff08;推流&#xff09;这几种协议接入&#xff0c;目前正在增加海康HIKSDK、大华DHSDK等几种SDK的接入&#xff0c;我们今天就介绍一下萤石摄像机怎么通过RTSP接入到EasyNVR。 第一步&#xff1a;萤石摄像机开启 萤石设备默…

【Unity离线渲染器】Octane for Unity 排坑(注册、证书申请、安装)

Unity使用Octane 异常复杂迷惑&#xff0c;官网多数差评就在此&#xff0c;Octane 论坛对unity的讨论已多年未更新。 经过我半天的不屑努力与排错&#xff0c;终于找到一种比较靠谱的方法。 (我用的unity版本是2022.3&#xff0c;估计2017都行&#xff08;不确定&#xff09;&…

Android Studio创建新项目并引入第三方so外部aar库驱动NFC读写器读写IC卡

本示例使用设备&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1bbW3AUC&ftt&id615391857885 一、打开Android Studio,点击 File> New>New project 菜单&#xff0c;选择 要创建的项目模版&#xff0c;点击 Next 二、输入项目名称…

⭐️Python wxauto库解锁微信自动化

Python wxauto库解锁微信自动化 Python wxauto库解锁微信自动化一、wxauto库简介1. 消息自动化1.1 获取微信好友和群组信息1.2 读取和处理聊天记录1.3 消息发送功能1.4 自动回复1.5 文件处理 2. 界面模拟操作3. 账号管理4. 插件扩展5. 安全性与稳定性6. 易用性7. 跨平台支持 二…

【视频生成模型】——Hunyuan-video 论文及代码讲解和实操

&#x1f52e;混元文生视频官网 | &#x1f31f;Github代码仓库 | &#x1f3ac; Demo 体验 | &#x1f4dd;技术报告 | &#x1f60d;Hugging Face 文章目录 论文详解基础介绍数据预处理 &#xff08;Data Pre-processing&#xff09;数据过滤 (Data Filtering)数据标注 (Data…