UNIX中的进程通信(IPC)

《UNIX网络编程》第二卷IPC通信,总结笔记(待添加):

IPC通信分为4大类:

一、消息传递

  •       匿名管道:用于父子进程的通信 pipe(fd)
  •       有名管道:1.FIFO   创建管道  mkfifo("my.pipe",0666);

                              ----> 2.打开管道,返回文件描述符   fd=open("my.pipe",O_RDWR);

  •       消息队列: 1. 产生一个key      key=ftok(".",200);     

                             ---->   2.创建一个消息队列,返回队列的ID  msgid=msgget(key,IPC_CREAT|IPC_EXCL|0666);

二、同步

  •       文件锁:
  •        信号量:    1.  产生一个key     key=ftok(".",100);   

                                  --->2.创建一个信号量,返回信号量的ID         semid=semget(key,1,IPC_CREAT|IPC_EXCL|0666);


三、共享内存:   1.产生一个key     key=ftok(".",255);  

                     ---> 2.创建一片共享内存,返回共享内存ID       shmid=shmget(key,4,IPC_CREAT|IPC_EXCL|0666);

                     ---> 3.根据ID得到共享,返回一个指针,用指针访问内存数据       p= shmat(shmid,0,0);

四、远程调用:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值