ubuntu12.04 在实际情况中,人们往往遇到多个客户端连接服务器端的情况。由于如connet()、recv()和send() 、accept()等都是阻塞性函数,如果资源没有准备好,则调用该函数的进程将进入睡眠状态,这样就无法处理I/O多路复用的情况了。 使用fcntl()函数虽然可以实现非阻 ...
分类:
其他好文 时间:
2017-05-21 21:37:55
阅读次数:
187
功能描述:根据文件描述词来操作文件的特性。 文件控制函数 fcntl -- file control头文件: #include <unistd.h> #include <fcntl.h> 函数原型: int fcntl(int fd, int cmd); int fcntl(int fd, int ...
分类:
其他好文 时间:
2017-02-04 11:11:01
阅读次数:
190
当打开一个文件的时候,我们需要指定打开文件的模式( 只读,只写等 )。那么在程序中如何获取,修改这个文件的状态标志呢?本文将告诉你如何用 fcntl函数 获取指定文件的状态标志。 ...
分类:
其他好文 时间:
2017-01-28 21:16:26
阅读次数:
199
在之前的文章中,描述过如何用 fcntl 函数改变文件的状态标记。但,文件还有很多信息,如文件类型,权限设置,设备编号,访问时间等等。如果要获取这些信息,则使用函数 lstat 可以轻松达到这个目的。 下面的程序将使用该函数获取文件类型信息并判断它的类型。 但在这之前,先要说明文件信息结构体和文件类... ...
分类:
其他好文 时间:
2017-01-28 21:14:05
阅读次数:
251
转自http://www.cnblogs.com/xuyh/p/3273082.html 用命令F_GETFL和F_SETFL设置文件标志,比如阻塞与非阻塞 F_SETFL 设置给arg描述符状态标志,可以更改的几个标志是:O_APPEND, O_NONBLOCK,O_SYNC和O_ASYNC。 命 ...
分类:
系统相关 时间:
2017-01-19 14:16:01
阅读次数:
264
fcntl函数是用来在进程中实现对文件的多种操作的函数,通过不同的命令可以实现不同的操作。常用的操作有复制文件描述符、为文件设置建议锁和获取设置文件控制标志等。 函数原型: 操作一:复制文件描述符实现文件共享 函数参数: fd:要操作的文件描述符 cmd:F_DUPFD arg:文件描述符 返回值: ...
分类:
其他好文 时间:
2016-10-01 12:35:41
阅读次数:
187
在同一个进程中,实现文件共享的方法有两种: 多次使用open函数打开相同文件 使用dup/dup2函数或者fcntl函数 多次使用open函数打开相同文件 使用dup/dup2函数或者fcntl函数 对于第一种方法: 每次使用open函数打开文件时,操作系统内核中都会创建一个不同的文件表项(stru ...
分类:
系统相关 时间:
2016-10-01 12:35:15
阅读次数:
196
Linux提供了 fcntl 函数来获取到文件的控制标志,同时也提供了 ioctl 函数来获取或者设置一些设备文件的特有属性,比如串口的波特率,显示屏的分辨率等等。文件的控制标志是所有类型的文件都会有的,而特有属性则不一定。 函数原型:注意此函数是 ioctl ,而不是iocntl 但是 ioctl ...
分类:
其他好文 时间:
2016-10-01 12:28:50
阅读次数:
325
1、fcntl:manipulate file descriptor 1)简介:fcntl(file control)函数可执行各种描述符控制操作。 2)正确的使用方法(以设置“非阻塞”标记为例): 3)常用用法: (1)cmd为F_SETFL,flags“包含”O_NONBLOCK:把一个套接字设 ...
分类:
其他好文 时间:
2016-08-19 00:37:00
阅读次数:
353
一般通过以下函数设置套接字选项:getsockopt和setsockopt函数;fcntl函数;ioctl函数 #include /* See NOTES */ #include int getsockopt(int sockfd, int level, int optname, void *opt... ...
分类:
其他好文 时间:
2016-08-10 06:20:49
阅读次数:
272