腾讯域名注册网站网站如何快速推广

张小明 2025/12/28 22:31:33
腾讯域名注册网站,网站如何快速推广,杭州市城乡建设网站,男人和女人做哪个网站extern int pipe (int __pipedes[2])上面是函数原型 传入一个字符数组#xff0c;创建两个文件描述符#xff0c;[0]为读端[1]为写端下面给一个代码案例#xff0c;一步步解析过程#include stdio.h #include stdlib.h #include unistd.h #include 创建两个文件描述符[0]为读端[1]为写端下面给一个代码案例一步步解析过程#include stdio.h #include stdlib.h #include unistd.h #include string.h #include sys/types.h #include sys/wait.h int main(int argc, char const *argv[]) { int pipefd[2]; //管道传入的数组 pid_t cpid; //子进程pid if(argc ! 2) { printf(%s 请填写需要传递的信息\n,argv[0]); exit(EXIT_FAILURE); } if(pipe(pipefd) -1) { perror(创建管道失败); exit(EXIT_FAILURE); } //fork创建子进程 cpid fork(); if(cpid -1) { perror(fork); exit(EXIT_FAILURE); } if(cpid 0) { //子进程 close(pipefd[1]); //关闭读端 printf(子进程 %d 收到数据\n,getpid()); char buf; while(read(pipefd[0],buf,1) 0) { write(STDOUT_FILENO,buf,1); } printf(\n); close(pipefd[0]); //关闭读端 _exit(EXIT_SUCCESS); //系统调用关闭子进程无需回收资源 } else { //父进程写数据 close(pipefd[0]); //关闭读端 printf(父进程 %d 写入数据\n,getpid()); write(pipefd[1],argv[1],strlen(argv[1])); close(pipefd[1]); //写完后关闭写端 waitpid(cpid,NULL,0); //等待子进程结束 exit(EXIT_SUCCESS); } return 0; }使用 ./unnamed_pipe_test test 运行代码输出父进程 12259 写入数据子进程 12260 收到数据test交互动画演示1. 文件描述符 (File Descriptor, FD)把文件描述符想象成一个遥控器。内核层操作系统内核维护着真正的“管道”对象实际上是一块内存缓冲区。用户层进程手里拿的pipefd[0]值为3和pipefd[1]值为4只是遥控器上的按钮编号。pipefd[0]是 Read 按钮。pipefd[1]是 Write 按钮。进程不直接操作管道内存只能通过拿着这些号码FD去请求内核read/write。2.fork()时的复制机制这是理解一切的关键。当你调用fork()时操作系统复制了父进程的PCB进程控制块。这其中包含了文件描述符表的拷贝。可以把它想象成复印了一把钥匙。父进程手里有开门访问管道的钥匙子进程复制了一把一模一样的钥匙。虽然有两把钥匙两个不同的进程各自有自己的 FD 表但它们开的是同一扇门指向同一个内核管道对象。3. 引用计数 (Reference Count) —— 管道生命的维持者内核中的管道对象有一个“生命值”这就是引用计数。它记录了“现在有多少个文件描述符指向我”。正常流程fork后写端引用计数 2父进程持有 子进程持有。子进程close(pipefd[1])- 写端引用计数降为 1。父进程写完数据。父进程close(pipefd[1])-写端引用计数降为 0。核心时刻内核检测到写端计数为 0意味着“世界上再也没有人能往这个管道写数据了”。内核向读端发送EOF (End Of File)。子进程的read函数收到 EOF返回 0循环结束程序正常退出。错误流程忘记关闭 closefork后写端引用计数 2。子进程没有关闭写端close(pipefd[1])。父进程写完数据关闭自己的写端 - 写端引用计数降为 1因为子进程手里还捏着一个写端 FD 呢虽然它不用。死锁时刻子进程去read。因为写端计数是 1不是 0内核认为“还有人可能会写数据”所以不发送 EOF。子进程一直傻傻地阻塞在read上等待那个其实就在它自己手里的写端写入数据但它自己由于阻塞在读上永远不会去写。程序挂起Hang。这就是 Linux 进程间通信优雅而严谨的底层逻辑
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站优化时间服务器网站绑定域名网站建设

1. 项目概述与设计目标 1.1 产品背景与应用场景 XGW-9000 系列高端新能源电站边缘网关是面向新能源电站智能化升级的核心设备,其硬件架构设计必须严格遵循产品需求文档(PRD)的技术要求。产品应用场景涵盖风电场、光伏电站、储能电站等新能源场…

张小明 2025/12/19 18:36:03 网站建设

北京市残疾人网上服务平台英语seo

【集团级富文本编辑器国产化集成项目纪实——从需求拆解到全栈信创落地】 2023年X月X日 周X 上海浦东新区 一、项目背景与核心需求 作为某集团技术负责人,近期承接政府数字化项目时,客户提出关键需求: 功能需求: Word粘贴/导入&a…

张小明 2025/12/19 18:34:02 网站建设

app网站建设制作网站制作成功案例

下面是一个使用 MATLAB 实现基于 线性回归(Linear Regression, LR) 进行 交通流量预测 的详细项目实例。该项目包括数据准备、模型训练、预测与评估等完整流程,适合初学者或希望快速上手交通流量预测任务的研究者。 🚦 项目目标 利用历史交通流量数据(如小时级车流量)…

张小明 2025/12/19 18:32:01 网站建设

网站改版响应式做网站多长时间

iLogtail极速部署指南:5分钟掌握日志采集核心技能 【免费下载链接】ilogtail Fast and Lightweight Observability Data Collector 项目地址: https://gitcode.com/gh_mirrors/il/ilogtail 项目亮点速览 iLogtail作为一款轻量级高性能日志采集工具&#xff…

张小明 2025/12/19 18:29:59 网站建设

国外网站 图片wordpress投稿者查看评论

Kotaemon太极拳动作指导:视频文字说明 在传统武术教学中,一个常见的难题是——学员记不住动作顺序,看不清细节要领,教练又无法随时答疑。尤其是在“云手怎么接单鞭”、“白鹤亮翅后重心如何转移”这类具体问题上,文字教…

张小明 2025/12/19 18:23:25 网站建设

怎样用vs做简单网站网站建设 源代码

文章详细介绍了Qwen3大模型的完整训练流程,包括三阶段预训练(通用知识、推理能力、长上下文)、思维链冷启动、推理强化学习、思维模式融合和通用强化学习,最后通过模型蒸馏技术优化性能。文章还展示了关键技术参数和训练效果&…

张小明 2025/12/24 10:50:19 网站建设