2010-07-23 Linux C 进程通信编程

1、进程间通信的目的:

                          (1)数据传输

                          (2)资源共享

                          (3)通知事件

                          (4)进程控制

2、POSIX(Portable Operating System Interface ) 表示可移植操作系统接口。是由IEEE(Institute of Electrical and Electronics Engineers ) 电器和电子工程师协会 开发的,目的是提高应用程序的可移植性。Microsoft windows 也支持 POSIX 标准。

3、Linux使用的进程间通信方式包括:

                                                    (1)无名管道和有名管道

                                                    (2)信号

                                                    (3)消息队列

                                                    (4)共享内存

                                                    (5)信号量

                                                    (6)套接字

4、管道

          (1) 管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。

          (2)   数据被一个进程读出后,将被从 管道中删除,其他进程将不能在读到这些数据。

          (3)管道包括无名管道和有名管道两种。前者用于父进程和紫禁城的通信;后者可用于同一系统中的任意两个进程通信;

5、无名管道

          (1)管道创建     int pipe(int filedis[2])

                  //当一个管道建立时,它会创建两个文件描述符:filedis[0]用于读管道,filedis[1]用于写管道

          (2)关闭管道     close(filedis[x]) //逐个关闭

                  //关闭管道只需将这两个文件描述符关闭即可 

          (3)管道用于不同进程间的通信,通常先创建一个管道,在通过fork函数创建一个子进程,该子进程会继承父进程所创建的管道(即子进程会继承文件描述符)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值