管道缓冲区大小
可以使用ulimit –a 命令來查看當前系統中創建管道文件所對應的內核緩沖區大小。通常為:pipe size? 4K,即一個頁面大小。也可以使用fpathconf函數來查看:
#include <unistd.h>
long fpathconf(int fd, int name);
當需要查看管道的大小時,參數name需要指定為:_PC_PIPE_BUF
成功:返回管道的大小? 失敗:-1,設置errno
管道的優劣:
?????? 優點:簡單,相比信號(開銷小),套接字(穩定)實現進程間通信,簡單很多。
?????? 缺點:1. 只能單向通信,雙向通信需建立兩個管道。
?????? ????? 2. 只能用于父子、兄弟進程(有共同祖先)間通信。該問題后來使用fifo有名管道解決。
總結
- 上一篇: 英雄联盟的船长是谁
- 下一篇: FIFO(命名管道)