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

北京小程序开发多少钱企业seo排名

北京小程序开发多少钱,企业seo排名,青岛需要做网站的公司有哪些,如何看别人网站用什么做的1 有名管道介绍 有名管道(Named Pipe),也称为 FIFO(First In First Out),是 Linux 进程间通信(IPC)的一种方式。FIFO 不同于管道之处在于它提供一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中。这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以…

1 有名管道介绍

有名管道(Named Pipe),也称为 FIFO(First In First Out),是 Linux 进程间通信(IPC)的一种方式。FIFO 不同于管道之处在于它提供一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中。这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过 FIFO 相互通信(能够访问该路径的进程以及 FIFO 的创建进程之间),因此,通过 FIFO 不相关的进程也能交换数据。

它与匿名管道的核心区别在于:

  1. 匿名管道 仅适用于 有亲缘关系的进程(如父子进程),而 有名管道 允许 任意进程(即使无亲缘关系)通过文件系统路径进行通信。

  2. 有名管道 在文件系统中有一个 持久化的节点(类似于文件),而匿名管道是临时的,仅存在于内存中。

2 shell 编程应用

  1. 打开一个 终端A 发送信息
# 创建命名管道
mkfifo mypipe
# 进程 A 写入数据
echo "Hello from Process A" > mypipe
  1. 打开一个终端B 接收信息
# 进程 B 读取数据
cat mypipe
  1. 在终端A或者终端B中要删除有名管道,需要手动删除
rm mypipe

3 进程中有名管道用到函数

3.1 mkfifo 函数

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int mkfifo(const char * pathname, mode_t mode)
  1. 其中输入形参:
    pathname:FIFO 文件的路径(如 “/tmp/myfifo”)。
    mode:权限模式(如 0666,表示所有用户可读写), mkfifo()建立的 FIFO 文件其他进程都可以用读写一般文件的方式存取。

具体案例如下:

mkfifo("/tmp/myfifo", S_IFIFO | 0666);  // S_IFIFO 可省略,因 mkfifo 已隐含
  1. 返回值:
    成功返回 0,失败返回 -1 并设置 errno。
  2. mkfifo()会依参数 pathname 建立特殊的 FIFO 文件,该文件必须不存在。

3.2 删除函数

  1. 可以利用停止信号,来触发删除函数,否则需要手动删除
unlink(const char * pathname);  // 删除 FIFO 文件
  1. 有可能存在残留的情况,最好程序启动的时候,删除残留。
if (access("/tmp/myfifo", F_OK) == 0) {unlink("/tmp/myfifo");
}

3.3 其它文件操作函数说明

  1. 只读方式打开,默认阻塞模式
int fd = open("/tmp/myfifo", O_RDONLY ); // 阻塞模式打开
  1. 只读方式打开,采用非阻塞方式
int fd = open("/tmp/myfifo", O_RDONLY | O_NONBLOCK); // 非阻塞模式打开
  1. 以只写方式打开,默认采用阻塞模式
int fd = open("/tmp/myfifo", O_WRONLY ); // 阻塞模式打开

如果没有写入端,open() 会 立即返回 -1,并设置 errno = ENXIO。

3.4 阻塞与非阻塞模式说明

在这里插入图片描述

3.5 注意事项

  1. 需要轮询(polling)的 IPC 通信。

  2. 避免死锁(如双向通信时双方都在等待对方)。

  3. 如果需要双工通讯,需要创建两个管道。

3.6 总结

在这里插入图片描述

4 代码演示

4.1 单工通讯

4.1.1 发送端

#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>#define FIFO_PATH "/tmp/myfifo"int ma
http://www.dtcms.com/wzjs/182700.html

相关文章:

  • 都有哪些做二手挖机的网站网上推广怎么弄?
  • 东莞网站建设三合一东莞seo网站管理
  • 专项培训网站建设方案2345网址导航下载
  • 网站建设实力宣传海报网页优化方案
  • h5做招聘网站可以吗希爱力双效片骗局
  • 企业官网建设 创意网站建设天猫关键词排名怎么控制
  • 2017网站备案win7优化大师下载
  • 如何不备案做购物网站推广咨询服务公司
  • 东营设计网站建设安卓优化大师老版本
  • 顺德网站建设代理商推广普通话文字内容
  • discuz做服务网站引擎优化seo是什么
  • 做自己的网站有什么用成都高端企业网站建设
  • 俄罗斯的外贸b2b网站站长工具seo综合查询
  • 阳江网站建设 公司百搜科技
  • 成都中高风险地区名单最新seo案例视频教程
  • 网页设计实验报告格式班级优化大师客服电话
  • 0539 网站江苏seo推广
  • jsp动态网站开发结业考试关于友情链接的作用有
  • 招商网站自动seo系统
  • 节日网站网页设计html腾讯新闻最新消息
  • 网站访问统计报告模板关键词优化排名第一
  • 初创品牌网站建设百度seo优化技巧
  • 问答社区网站建设怎么创建网站?
  • 哈尔滨 做网站公司有哪些南宁百度seo排名优化软件
  • 找别人建网站去哪里百度搜索推广流程
  • 外贸网站建设注意重庆seo
  • 做代刷网站赚钱不大片网站推广
  • 南宁如何做百度的网站新站网站推广公司
  • 帝国cms怎样做网站迁移个人免费开发网站
  • 寿光做网站m0536seo网络优化是做什么的