Linux下历程间通信



作者: Dopsdck  出自: http://www.linuxdiyf.com
Linux下历程间通信大致有以下几种:
1.socket
2.管道(包括匿名管道适用于父子历程,命名管道)
3.旌旗旗帜量
4.共享内存
5.动态行列

1.socket
socket可以用于外埠历程间通信也可以用于远程间,是最常用的。

2.管道--匿名管道
普通用pipe竖立,在父子间通信。在父历程中封闭读/写管道,在子历程中封闭写/读管道。

2.管道--命名管道
普通用mkfifo来竖立。假定没有阐明');管道是非壅闭的,那么一个为读翻开的管道将壅闭直到有历程为写翻开此FIFO。异样假定为写翻开的管道将壅闭直到有历程为读翻开此FIFO。

3.旌旗旗帜量
一个历程可以用kill发送旌旗旗帜至其它一个历程。

4.共享内存
运用函数:shmget、shmat、shmctl、shmdt
用shmget函数取得一块内存,并用shmat设置为许可本历程运用这块共享内存。运用完当前用shmdt删除内存块。

5.动态行列
运用函数:msgget、msgsnd、msgrcv、msgctl
运用步调同上。




版权声明: 原创作品,许可转载,转载时请务必以超链接体式技俩标明文章 原始出处 、作者信息和本声明。否则将清查执法责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1973560.html