第十三天:
1. 使用管道實現進程間通信
1.1 基礎概念
概念:本質上是一種特殊的文件
分類:有名管道和無名管道
有名管道:可以進行任意倆進程之間的通信
無名管道:只能進行父子進程之間的通信
1.2 使用有名管道實現進程間的通信
創建有名管道:mkfifo命令/函數
1.3 使用無名管道實現進程間通信
pipe函數
2. 使用共享內存實現進程間通信
2.1 基本概念
共享內存:本質是一塊由內核維護的內存空間
特點:最快的IPC通信方式
2.2 通信模型
1)獲取key值——ftok函數
2)創建/獲取共享內存——shmget
3)掛接共享內存——shmat函數
4)使用共享內存
5)脫接共享內存——shmdt函數
6)刪除共享內存——shmctl函數
2.3 常用的操作函數
1)ftok函數
2)shmget函數
3)shmat函數
4)shmdt函數
5)shmctl函數
2.4 常用的基本命令
ipcs -m :
ipcrm -m ID :
3. 使用消息隊列實現進程間的通信
3.1 基本概念
3.2 通信模型
3.3 相關函數解析1)獲取key值——ftok函數
2)創建/獲取消息隊列——msgget函數
3)發送消息/接收消息——msgsnd/msgrcv函數
4)刪除消息隊列——msgctl函數
1)ftok函數
2)msgget函數
3)msgsnd/msgrcv函數
4)msgctl函數
3.4 常用的基本命令
ipcs -q :
ipcrm -q ID :