`

进程间的通讯-无名管道例子

 
阅读更多
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<signal.h>

/*无名管道应用例子*/


/*定义*/
int temp;
void handle();

void handle(){
	temp=0;
}

main(){
	int pro1;
	int fileDesc[2];
	/*保存从管道读出来的数据*/
	char outPipe[50];
	/*向管道写进去的数据*/
	char inPipe[50]="welcome to hr!";

	/*创建无名管道*/
	pipe(fileDesc);

	/*创建子进程*/
	while((pro1=fork())==-1);
	if(pro1==0){
		//子进程写进数据
		write(fileDesc[1],inPipe,50);
		printf("i am child, i have written some data\n");
		exit(0);
	}else{
		//父进程读数据
		read(fileDesc[0],outPipe,50);
		printf("%s\n",outPipe);
		printf("i am father, i have read some data\n");
		exit(0);
	}
	
	
}
 

 

分享到:
评论

相关推荐

    第四次实验-进程的管道及消息通信.doc

    本次实验通过具体的实例演示了如何在UNIX和Linux环境下利用无名管道进行进程间的通信。通过这一过程,学生不仅能够理解进程间通信的基本概念和原理,还能掌握具体的编程技巧,为后续深入学习操作系统原理和高级编程...

    有名管道例子,简单易懂

    有名管道(Named Pipe)是Windows操作系统中的一种进程间通信(IPC,Inter-Process Communication)机制,它允许不同进程之间交换数据。在这个例子中,我们主要关注`CreateNamedPipe`函数的使用,这是一个创建有名...

    进程间通信

    进程间通信(IPC,Inter-Process Communication)是操作系统中一种重要的机制,允许不同进程之间交换数据和信息。在多进程环境中,进程间通信是实现协同工作、资源共享的关键。以下是关于进程间通信的一些核心知识点...

    linux进程间通信实验,模拟车辆过桥

    2. **有名管道(FIFO)**:与无名管道类似,但可以在不相关的进程间进行通信,因为它们是存在于文件系统中的特殊文件。车辆进程可以写入FIFO,表示到达桥头,桥梁进程读取FIFO,得知有车辆等待。 3. **信号量**:...

    深刻理解Linux进程间通信(IPC)-详解.pdf

    文档的最后部分涉及到一些实际的代码片段和例子,例如readtest.c展示了父子进程间使用管道进行通信的过程。代码中的fork()调用用于创建子进程,并且演示了管道如何在父子进程间共享文件描述符。系统调用close()用于...

    Linux实验八:LinuxC-编程-IO-重定向和管道.doc

    在Linux系统中,I/O重定向和管道是两种重要的进程间通信(IPC)方式,它们允许我们改变程序的标准输入、输出和错误流,或者在不同的进程中传递数据。本实验主要涵盖了这两个主题,通过编写和运行C语言程序来实践。 ...

    学习进程间通信的示例代码

    进程间通信(IPC,Inter-Process Communication)是操作系统中一种重要的技术,允许不同进程之间交换数据,协同工作。在这个“学习进程间通信的示例代码”压缩包中,你将找到一系列实现管道、消息队列、信号量和共享...

    操作系统管道通信.doc

    这个简单的例子展示了如何使用无名管道来实现进程间的通信。 ### 总结 管道通信是操作系统中一种非常实用的进程间通信方式。无论是无名管道还是命名管道,都能有效地满足不同场景下的通信需求。通过本文的介绍,...

    管道通信非常好

    管道通信是一种在多进程或多线程环境中实现进程间通信(IPC, Inter-Process Communication)的有效方式。在操作系统中,管道通常用于连接不同进程的数据流,使得数据可以在它们之间传递。这种通信机制允许一个进程的...

    操作系统实验五1

    管道是进程间通信(IPC,Inter-Process Communication)的一种方式,分为无名管道和有名管道。无名管道主要用于具有亲缘关系的进程间通信,而有名管道(FIFO)可以在不相关的进程之间进行通信。 无名管道的工作原理...

    UNIX网络编程第2卷-进程间通信(第2版_中文版_高清带目录)

    2. **管道(Pipe)**:介绍了无名管道和命名管道的概念,它们是如何实现数据传输的,以及它们的限制和适用场景。 3. **套接字(Socket)**:详细讲解了套接字API的使用,包括流式套接字(TCP)和数据报套接字(UDP...

    Python中的进程间通信

    Python中的进程间通信(IPC,Inter-Process Communication)是指不同进程之间交换信息的方式。在多进程编程中,由于进程间的独立性,它们不能直接访问彼此的内存空间,因此需要通过特定的方法来协调和同步进程间的...

    Linux命名管道示例

    命名管道与无名管道的主要区别在于,无名管道是临时的,仅在创建它的进程之间有效,而命名管道则可以在多个不相关的进程之间持久存在。这种通信方式在多进程协作中有着广泛的应用。 本实例将详细讲解如何创建和使用...

    操作系统实验四.doc

    在这个实验中,学生需要运用Linux环境下的不同方法来实现进程间的通信,同时巩固进程同步的概念和实现方式。 实验目标主要包括: 1. 理解Linux环境下进程间通信的基本概念。在Linux操作系统中,进程是系统资源分配...

    pipe_管道_python_

    无名管道主要用于父子进程间的通信,而有名管道则可以在不相关的进程间共享。Python的`os`模块提供了创建和使用管道的基本接口。 ### 1. 创建管道 在Python中,我们使用`os.pipe()`函数来创建一个管道。它返回两个...

    jincheng.zip_管道通信

    相比于无名管道,命名管道可以在进程间进行更复杂的交互,因为它们可以被多个进程访问。在Windows系统中,命名管道通常使用CreateFile函数创建,而在Unix/Linux系统中,可以通过mkfifo命令或mknod函数创建。通信时,...

    iTOP-4412实验手册

    #### 实验21:进程间通信-无名管道 - **实验目的**:掌握无名管道(pipe)的基本用法。 - **实验环境**:iTOP-4412开发板的Linux操作系统。 - **实验代码**: - **pipe1.c**:演示如何使用管道进行进程间通信的示例...

    cam.rar_进程通信

    7. **有名管道(Named Pipe/FIFO)**:与无名管道类似,但有名管道可以在无关进程间通信,因为它有一个唯一的路径名标识。 在“cam.rar_进程通信”这个压缩包中,我们可能看到这些通信方式的具体实现,例如C++或...

    操作系统ppt3

    3. **无名管道的建立**:通过`pipe()`系统调用创建无名管道。这个调用会返回一个包含两个文件描述符的数组,一个用于写入(`filedes[1]`),另一个用于读取(`filedes[0]`)。 4. **读/写进程的互斥**:为了避免多个...

Global site tag (gtag.js) - Google Analytics