linux FIFO的使用

fcntl函数在Linux中有着多种用途,包括复制描述符、获取和设置文件描述符和文件状态标志等。F_DUPFD用于创建新描述符,F_GETFD和F_SETFD涉及close-on-exec标志,F_GETFL和F_SETFL用于读取和设置文件状态标志,如O_NONBLOCK和O_APPEND。F_GETOWN和F_SETOWN用于处理SIGIO和SIGURG信号的接收进程。fcntl的返回值根据命令不同而变化,使用时需要注意正确地获取和设置标志。
摘要由CSDN通过智能技术生成
功能描述:根据文件描述词来操作文件的特性。

注意:

在打开FIFO设备时,如果仅是O_RDONLY或者O_WRONLY时,open函数会堵在那,等到对方的open,但如果是O_RDWR,则随时打开返回;

由于FIFO空间大小有限,当只有写,没有读时,写到一定大小就会堵在write函数中,读read也是一样,当FIFO里没数据可读时,也会阻塞住,可通过设置成非阻塞,
fcntl(fifo_fd, F_SETFL, O_NONBLOCK);

文件控制函数
         fcntl -- file control

LIBRARY
         Standard C Library (libc, -lc)

SYNOPSIS
         #include <fcntl.h>;
         int fcntl(int fd, int cmd);
         int fcntl(int fd, int cmd, long arg);
         int fcntl(int fd, int cmd, struct flock *lock);

[描述]
            Fcntl()针对(文件)描述符提供控制.参数fd 是被参数cmd操作(如下面的描述)的描述符.
            针对cmd的值,fcntl能够接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值