读书笔记:第4章 管道和FIFO (8)

《UNIX网络编程:卷2》P56:图4-31

----------------------------------------------------------

图4-31 在运行时确定PIPE_BUF和OPEN_MAX的值

/* P56 pipeconf.c */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
    if (argc != 2) {
        fprintf(stderr, "usage: pipeconf <pathname>\n");
        exit(1);
    }
    printf("PIPE_BUF = %ld, OPEN_MAX = %ld\n",
            pathconf(argv[1], _PC_PIPE_BUF), sysconf(_SC_OPEN_MAX));
    exit(0);
}

----------------------------------------------------------

运行程序:

$ ./pipeconf /
PIPE_BUF = 4096, OPEN_MAX = 1024
$ ./pipeconf /home
PIPE_BUF = 4096, OPEN_MAX = 1024
$ ./pipeconf /tmp
PIPE_BUF = 4096, OPEN_MAX = 1024
$ ./pipeconf /no/such/file
PIPE_BUF = 4096, OPEN_MAX = 1024

对于不存在的路径了都输出同样的值,开来对于本系统(Ubuntu 14.04),PIPE_BUF是一个常量。

你可能感兴趣的:(读书笔记,《UNIX网络编程》)