linux——PIPE

来源:互联网 发布:蒲公英是什么软件 编辑:程序博客网 时间:2024/05/17 20:53

linux 中pipe是特殊文件,用于进程通信

int pipe(int fildes[2])
fildes[0]用于读的文件描述符
fildes[1]用于写的文件描述符
若成功return 0 else -1,错误在errno中
错误代码:
EMFILE 进程已用完文件描述词最大量
ENFILE系统无文件描述词
EFAULT参数filedes数组地址不合法

当管道中数据被读取后,管道为空,则read时会被阻塞直到数据到来。

若要设置为非阻塞,
fcntl(fildes[0],F_SETFL,O_NONBLOCK);

0 0
原创粉丝点击