[root@liumengli name_pipe]# mknod my_pipe p (创建命名管道,也可以通过系统调用来安装)
[root@liumengli name_pipe]# cat name_pipe_read.c
#include "stdio.h"
#include "unistd.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "errno.h"
#include "fcntl.h"
int main() {
char buf[20];
int pipe_read;
int n_read;
pipe_read = open("./my_pipe", O_RDONLY, 0);
//打开管道,只读方式,注意与下面的区别,读者可以自己试试,可能参数有错,自己可以找到
//pipe_read = open("./my_pipe", O_RDONLY|O_NONBLOCK, 0);
if(pipe_read == -1) {
printf("error\n");
return 1;
}
memset(buf, 0, sizeof(buf));
n_read = read(pipe_read, buf, 20);
printf("You read %d chars\n", n_read);
printf("%s\n", buf);
return 0;
}
//读管道程序
[root@liumengli name_pipe]# cat name_pipe_read.c
#include "stdio.h"
#include "unistd.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "errno.h"
#include "fcntl.h"
int main() {
char buf[20];
int pipe_read;
int n_read;
pipe_read = open("./my_pipe", O_RDONLY, 0);
if(pipe_read == -1) {
printf("error\n");
return 1;
}
memset(buf, 0, sizeof(buf));
n_read = read(pipe_read, buf, 20);
printf("You read %d chars\n", n_read);
printf("%s\n", buf);
return 0;
}
//写管道程序,2个进程通过my_pipe命名管道通信,如果对命名管道有兴趣,可以留言.
分享到:
相关推荐
本实验报告旨在熟悉SQL Server 2005的使用和管理,了解客户/服务器模式、命名管道协议和TCP/IP协议的差别,掌握SQL Server 2005的企业管理器、查询分析器和客户端/服务器端网络实用工具的使用。 一、实验目的: * ...
1. **文件名和函数名:**确保使用英文小写字母命名文件名、程序名和输入输出文件名。 2. **主函数返回值类型:**在C/C++中,`main()`函数的返回值类型必须是`int`,正常结束时的返回值应为0。 3. **源代码文件放置...
5. **通信机制**:了解Tuxedo的客户端和服务器之间的消息传递,包括TCP/IP和命名管道等通信方式。 B11实验室则可能涵盖: 1. **性能调优**:通过调整Tuxedo参数和配置来提高系统的响应速度和吞吐量。 2. **故障...
- **分类**: Linux中的管道主要有两种类型——无名管道和命名管道(FIFO)。 - **用途**: 用于进程间的通信,实现数据流的定向传递。 **2.2.3 一个简易的 shell 解释系统样例** - **实现**: 使用C语言编写简单的...
- 使用管道、命名管道进行通信 - 消息队列与共享内存的具体实现案例 - 套接字编程简介 #### 二、精通Linux **6. 设备驱动** - **概述:** 本章重点在于Linux设备驱动程序的设计与实现。 - **知识点:** - 设备...
- NAMEPIPE:Windows平台的命名管道通信。 4. **DB2客户端类型**: - DB2运行时间客户端(DB2RUNTIMECLIENT):仅用于执行已编译的SQL。 - DB2管理客户端(DB2ADMINISTRATIONCLIENT):包含管理和监控工具。 - ...
11.2.1 创建命名管道 300 11.2.2 管道监听 302 11.2.3 使用异步I/O进行读写 303 11.2.4 关闭管道实例 307 11.2.5 客户端 307 11.3 剪贴板 310 11.3.1 获取、设置剪贴板数据 310 11.3.2 监视剪贴板 ...
在本场景中,"AzureRMPipeline回购"可能是指一个存储了与Azure Pipelines相关的配置、脚本或样例的代码仓库。 文件名称列表中的“AzureRMPipeline-repo-master”暗示这是一个主分支的代码仓库副本,通常在Git等版本...
2. **导入FsUnit命名空间**:在测试文件中,导入FsUnit的命名空间,这样就可以使用其提供的断言了。例如,对于xUnit,你可能需要写入`open FsUnit.xunit`。 3. **编写测试**:使用FsUnit的断言来定义测试用例。每个...
4. **开发流程**:指导开发者如何在OpenShift CEVI环境中创建、测试和部署应用,可能包括使用OpenShift CLI(oc命令行工具)、持续集成/持续部署(CI/CD)管道、源到镜像(S2I)构建过程等。 5. **安全性和权限管理**...
Apache Kafka 是一个分布式流处理平台,常用于实时数据管道和消息系统。而 Kubernetes 是一个容器编排系统,用于自动化容器化应用的部署、扩展和管理。 【描述】中的 "kubkafka1" 可能是指一个特定的项目或实验,...
- **NamePipe:** Windows平台上的命名管道通信。 #### 4. DB2客户端产品 - **DB2 Runtime Client:** 提供基本的客户端功能,支持数据库访问。 - **DB2 Administration Client:** 包含更强大的管理工具,便于数据库...
11.2.1 创建命名管道 300 11.2.2 管道监听 302 11.2.3 使用异步I/O进行读写 303 11.2.4 关闭管道实例 307 11.2.5 客户端 307 11.3 剪贴板 310 11.3.1 获取、设置剪贴板数据 310 11.3.2 监视剪贴板 ...