在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数ReadFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作系统。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站制作、网站建设、万年网络推广、成都小程序开发、万年网络营销、万年企业策划、万年品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供万年建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
Linux句柄
Linux中所有的事物或资源都是以文件的形式存在,比如消息、共享内存、连接等,句柄可以理解为指向这些文件的指针。
对于这些句柄,Linux是有数量限制的,单个进程默认可以打开的句柄数上限,可以用以下命令来查看:
$ ulimit -a
查看某个进程的句柄数上限,命令是:
$ ulimit -a PID
单个进程句柄数的修改(系统重启后会恢复默认值)
$ ulimit -n 句柄数
永久修改单个进程句柄数
$ cat >> /etc/security/limits.conf
说明:修改完成后,需要重新打开终端,使用 ulimit -a 查看句柄数
查询系统中指定进程占用的句柄数
$ lsof -n | grep [PID|进程名]| wc -l
查询系系统中进程占用的句柄数
$ lsof -n | awk '{print $2}' | sort | uniq -c | sort -nr | more
文件类型有以下几种: DIR:表示目录。 CHR:表示字符类型。 BLK:块设备类型。 UNIX: UNIX 域套接字。 FIFO:先进先出 (FIFO) 队列。 IPv4:网际协议 (IP) 套接字。
LINUX对能够打开的文件句柄的数量做了限制。限制是分为三个层面:系统层面,用户层面和进程层面。 如果某个进程打开的文件句柄超过限制,再打开文件就会报错。因此,在编程时,如果进程要占用大量文件句柄的话, 就要看看是否要调整最大可打开的文件句柄数,同时也要注意close释放掉不用的文件句柄。
系统层面
$ cat /proc/sys/fs/file-max
用户层面
$ ulimit -n
进程层面
$ cat /proc/PID/limits
文章题目:详解Linux文件句柄
标题路径:http://www.shufengxianlan.com/qtweb/news36/241186.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联