zoukankan      html  css  js  c++  java
  • UNIX环境高级编程——管道和FIFO限制

    系统加于管道和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 <pathname>");
       
       printf("PIPE_BUF = %1d,OPEN_MAX = %ld
    ",pathconf(argv[1],_PC_PIPE_BUF),sysconf(_SC_OPEN_MAX));
       exit(0);
    }


  • 相关阅读:
    百度云人脸识别API人脸库管理
    百度云人脸识别API人脸对比
    Linux之find命令
    Linux之grep命令
    Linux之sed命令
    LNMP Shell脚本发布
    auto_modify_ip Shell脚本安装
    JVM虚拟机详解+Tomcat性能优化
    Tomcat连接器详解
    Tomcat配置详解
  • 原文地址:https://www.cnblogs.com/wangfengju/p/6172751.html
Copyright © 2011-2022 走看看