博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UNIX环境高级编程——管道和FIFO限制
阅读量:6809 次
发布时间:2019-06-26

本文共 667 字,大约阅读时间需要 2 分钟。

系统加于管道和FIFO的唯一限制为:

OPEN_MAX     一个进程在任意时刻打开的最大描述符数;

PIPE_BUF       可原子的写往一个管道或FIFO的最大数据量。

  • OPEN_MAX的值可通过调用sysconf函数查询。它通过可通过执行ulimit命令(Bourne shell或Korn Shell)或limit命令(C shell)从shell中修改。它也可以通过调用setrlimit函数从一个进程中修改。
  • PIPE_BUF的值通常定义在<limits.h>头文件中,但是Posix认为它是一个路径名变量。这意味着它的值可以随所指定的路径名而变化(只对FIFO而言,因为管道没有名字)。因为不同的路径名可以落在不同的文件系统上,而这些文件系统可能有不同的特征。

       PIPE_BUF的值可在运行时通过调用pathconf或fpathconf取得。(PIPE_BUF为4096字节)

#include "unpipc.h"int main(int argc,char **argv){   if (argc != 2)     err_quit("usage:pipeconf 
"); printf("PIPE_BUF = %1d,OPEN_MAX = %ld\n",pathconf(argv[1],_PC_PIPE_BUF),sysconf(_SC_OPEN_MAX)); exit(0);}

转载于:https://www.cnblogs.com/hehehaha/p/6332670.html

你可能感兴趣的文章
2016第29周三
查看>>
Maven 与 IntelliJ IDEA 的完美结合
查看>>
Apache
查看>>
Sqli-LABS通关笔录-15
查看>>
匹配除中文和空格意外的正则写法
查看>>
maven parent version not found
查看>>
Oracle 12c agent install for windows
查看>>
Java 扫描包下所有类(包括jar包)
查看>>
VBS弹出来的对话框如何置顶!--果然技巧
查看>>
什么是Satoshi?和比特币中本聪有什么关系?
查看>>
为何地址一样,值却不一样?
查看>>
iOS开发frame, contentSize, contentOffset, contentInset 区别联系浅析
查看>>
C#编程(四十六)----------正则表达式
查看>>
sql 2000 查询中增加序号列,自动增加列
查看>>
Windows 8 Charm工具条
查看>>
(转)互斥对象锁和临界区锁性能比较 .
查看>>
Linux的“壳”
查看>>
asp.net文本编辑器FCKeditor使用方法详解
查看>>
javascript学习笔记-常见问题及技巧
查看>>
笑话xml结构
查看>>