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

操作系统实训复习笔记(基于命名管道与信号的进程间通信)

目录

基于命名管道与信号的进程间通信

第1关:命名管道与信号IPC操作考查


基于命名管道与信号的进程间通信

第1关:命名管道与信号IPC操作考查

(没啥好说的,不会的操作系统考试就靠记呗!!)

  • sleep(1); 休眠1秒
  • open("FIFO",O_RDONLY); (简化记忆哈: /*rd->only 写*/

  • open("FIFO",O_WRONLY);  (简化记忆哈: /*wr->only 写*/

  • 写入:write(fd,"heool0penEuler",14);(预期输出: sig=13


#include<stdio.h>
#include<string.h>
#include<fcntl.h>
#include<signal.h>
#include<sys/types.h>void handler(int sig)
{printf("sig=%d\n",sig);}
int main(void)
{int j;signal(SIGPIPE,handler);//在reader中止之后写Pipe的时候发送unlink("FIFO");mkfifo("FIFO",0644);pid_t pid;pid=fork();if(pid==0){/*子进程打开读管道,随后关闭管道*/int fd;fd = open("FIFO",O_RDONLY);  /*rd->only 写*//*关闭*/close(fd);}else{/*父进程打开写通道,休眠1秒,尝试写入*/int fd;fd = open("FIFO",O_WRONLY);  /*wr->only 写*/int ret;sleep(1); /*休眠1秒*//*写入*/ret = write(fd,"heool0penEuler",14);}
}
http://www.lryc.cn/news/383094.html

相关文章:

  • 数字化转型第三步:数字化业务创新与发展,提升收入和利润
  • SSM爱心捐赠物资维护系统-计算机毕业设计源码09536
  • ​中国9大流域地图SHP数据
  • android Switch/case with R.id.XXXX in android doesn‘t work 错误: 需要常量表达式解决方案
  • vue3-openlayers marker 光晕扩散(光环扩散)(postrender 事件和 render 方法)
  • 新型防勒索病毒方案分享无需依靠病毒库
  • 《Mybatis-Plus》系列文章目录
  • 在Matplotlib中,`xlim()` 函数用于设置x轴的显示范围,原因和作用如下:
  • win7使用vue-cli创建vue3工程
  • 为何云原生是未来?企业IT架构的颠覆与重构
  • 构建家庭NAS之三:在TrueNAS SCALE上安装qBittorrent
  • Matplotlib中文显示解决方案:字体渲染机制与font.sans-serif设置
  • docker +tmux 远程本地gdb调试
  • 计算机视觉全系列实战教程 (十三):图像形态学操作
  • python的 pyside2 安装
  • R语言——数据与运算
  • 非强化学习的对齐方法
  • 写一个坏越的个人天地(三)
  • 【学习笔记】CSS
  • 与亚马逊云科技深度合作,再获WAPP、ISV认证
  • idea 如何查看项目启动的端口号
  • 年薪超过30万的网工,需要具备什么技能?
  • 【杂记-浅谈OSPF协议中的邻居关系与邻接关系】
  • 白银价格行情分析兼顾基本面和技术面
  • 搜维尔科技推出绿幕抠屏虚拟制作演示项目
  • 大数据集群搭建基础:Linux下MySQL安装!!!
  • FLASH闪存
  • GPT-5智能新纪元的曙光
  • Qt | QPalette 类(调色版)
  • Linux操作系统进程同步的几种方式及基本原理