`
gstarwd
  • 浏览: 1525690 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux进程的管道通信学习笔记

阅读更多
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
int main()
{
	int pipe_fd[2];
	pid_t pid;
	char r_buf[100];
	char w_buf[4];
	char* p_wbuf;
	int r_num;
	int cmd;
	
        int global;

	memset(r_buf,0,sizeof(r_buf));
	memset(w_buf,0,sizeof(r_buf));
	p_wbuf=w_buf;
	if(pipe(pipe_fd)<0)
	{
		printf("pipe create error\n");
		return -1;
	}
	
	if((pid=fork())==0)//child process
	{

                 printf("child  processing begin\n");
               // global = pid;
		//printf("\n");
		close(pipe_fd[1]);
		sleep(3);//确保父进程关闭写端
	    r_num=read(pipe_fd[0],r_buf,100);
         printf(	"read num is %d   the data read from the pipe is %d\n",r_num,atoi(r_buf)   );
		//exit(0); put here not functionly as expect why? T_T
 close(pipe_fd[0]);
		sleep(6);
		 printf("child  processing end\n");
		exit(0);
	}
	else if(pid>0)//parent process
	{

                printf("parent  processing begin\n");

	        close(pipe_fd[0]);//first close  read
	        strcpy(w_buf,"111");
	        if(write(pipe_fd[1],w_buf,4)!=-1)
		{
	  		printf("parent write success & over\n");

		}else
		{
			printf("parent write failed\n");
		}
	        close(pipe_fd[1]);//write
		printf("parent close fd[1] over\n");
	        sleep(10);

 		printf("parent  processing  end\n");


	}	
}
分享到:
评论

相关推荐

    非常宝贵的LINUX学习笔记

    【linux学习笔记-8】Linux进程相关系统调用(1) 【linux学习笔记-9】Linux进程相关系统调用(2) 【linux学习笔记-10】Linux进程相关系统调用(3) 【linux学习笔记-11】守护进程daemon 【linux学习笔记-12】守护...

    Linux学习笔记Linux学习资料Linux教程

    【linux学习笔记-10】Linux进程相关系统调用(三).doc 【linux学习笔记-11】守护进程daemon.doc 【linux学习笔记-12】守护进程的日志实现.doc 【linux学习笔记-13】基本进程通信--文件锁.doc 【linux学习笔记-14】...

    Linux 进程 线程学习笔记

    ### Linux进程与线程创建详解 #### 进程与线程的概念 在深入探讨Linux下C语言编程中进程和线程的创建之前,我们先来理解一下进程与线程的基本概念。 - **进程**:是操作系统进行资源分配和调度的基本单位,每个...

    linux从做系统学习笔记

    Linux操作系统是全球众多程序员...总之,Linux操作系统的学习笔记覆盖了从系统安装到文件管理,从用户权限到进程调度,从设备管理到网络控制等多个层面的知识点,是学习Linux操作系统和提升系统管理能力的重要资源。

    linux下C语言开发笔记整理

    Linux下C语言开发笔记整理涵盖了从基础知识到网络通信的多个方面,主要围绕在Unix/Linux系统环境下使用C语言进行软件开发的各项技术与理论。以下是从文件提供的信息中提炼的知识点。 ### Unix/Linux系统基本命令和...

    linux编程学习笔记PDF资料下载.txt

    - **进程间通信(IPC)**:Linux提供了多种进程间通信机制,如管道、消息队列、共享内存、信号量等。 - **线程编程**:多线程编程可以利用多核处理器的并行计算能力,提高程序的执行效率。 - **同步与互斥**:为了...

    linux学习笔记,我自己做的

    Linux学习笔记概述 这是一份由个人制作的Linux学习笔记,旨在帮助初学者或有一定基础的用户深入理解和掌握Linux操作系统。作者坦诚地表示,由于自身能力限制,笔记可能存在不足之处,但他愿意与大家分享自己的学习...

    Linux学习笔记完整版

    9. Linux进程通信机制:Linux提供了多种进程通信机制,包括信号、管道、消息队列、共享内存、信号量等。 10. Linux用户类型及权限差异:Linux中的用户分为普通用户和超级用户(root),不同用户对系统的访问权限有...

    linux shell个人学习笔记,绝对极品

    最后,熟悉一些高级主题,如进程间通信(IPC,如管道、信号、共享内存和消息队列),以及如何利用cron服务定时执行任务,将让你的Linux技能更上一层楼。 总的来说,这份“Linux Shell个人学习笔记”涵盖了从基础...

    Linux系统编程学习笔记

    ### Linux系统编程学习笔记 #### 一、IO **1.1 标准I/O (stdio)** - **fopen/fclose**: `fopen` 用于打开或创建一个文件,并返回一个指向该文件的 `FILE *` 类型的指针。`fclose` 用于关闭由 `FILE *` 指向的文件...

    Linux嵌入式学习笔记

    在深入探讨Linux嵌入式学习笔记的内容之前,我们先来理解一下这个领域的基本概念。Linux嵌入式系统是指将Linux操作系统内核移植到特定硬件平台上的系统,用于控制或管理设备的各种功能。这类系统广泛应用于各种领域...

    linux c书本学习以及自己的学习笔记

    - 管道和FIFO:了解进程间通信(IPC)方式,如管道和命名管道(FIFO)的使用。 - 线程:掌握pthread库,包括线程的创建、同步和通信。 5. **信号处理**: - 信号:理解Linux中的信号机制,如何注册信号处理函数...

    linux系统学习笔记和资料

    Linux系统学习笔记和资料主要涵盖了Linux操作系统的基本概念、安装、常用命令、系统管理以及更深入的编程和服务器配置等内容。Linux是一种开源的操作系统,广泛应用于服务器、云计算、嵌入式设备等多个领域。以下是...

    linux的进程线程编程(高清书签版)

    综上所述,Linux进程线程编程的学习笔记整理涵盖了进程的基本概念、进程的创建与管理、进程类型、进程状态转换、线程编程、进程间通信和信号处理等多个方面。掌握这些知识点对于深入理解Linux操作系统运行机制、编写...

    嵌入式LINUX入门笔记

    理解进程间通信(IPC)机制,如管道、消息队列、共享内存等,对于构建多组件的嵌入式系统至关重要。 在设备驱动开发中,理解GPIO(通用输入/输出)、SPI、I2C、UART等常见总线协议是基础。例如,你可以通过GPIO控制...

    linux系统编程笔记

    Linux系统编程笔记涉及到的内容广泛,涵盖了从基础的出错处理到进程管理,从内存管理到进程间通信,以及守护进程设计等多个层面的知识。下面详细说明各个部分的知识点: 1. 常见出错处理 - abort函数用于异常终止...

    Linux内核笔记-很强大很详细的

    2. **进程管理**:讲解进程的创建、销毁、状态转换、进程间通信(IPC)机制,如信号、管道、消息队列、共享内存等。 3. **内存管理**:讨论虚拟内存、物理内存的分配与回收,页面替换算法(如LRU),以及内存映射等...

    学习《高级Linux环境编程》读书笔记(APUE读书笔记)

    15. 进程间通信:详细讨论了几种UNIX进程间通信的机制,如管道、协同进程、命名管道(FIFO)、XSIIPC(包括消息队列、共享内存和信号量)以及这些机制在C/S模型中的应用比较。 16. 网络IPC:套接字:最后一章介绍了...

    Linux操作系统-读书笔记

    这篇读书笔记将基于《鸟哥的Linux私房菜》、《Linux内核的设计与实现》、《深入理解Linux内核》以及《深入Linux内核架构》等经典书籍,深入探讨Linux系统的核心概念和技术。 1. **系统架构** Linux采用微内核架构...

Global site tag (gtag.js) - Google Analytics