文件操作一般用到5个函数:open、read、write、lseek、close对于内核而言,所有打开的文件都通过文件描述符(非负整数)引用。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读写一个文件时,用open或creat返回一个文件描述符标识该文件,将其所为参数传给re...
分类:
其他好文 时间:
2015-11-06 11:11:16
阅读次数:
135
Linux虚拟文件系统四大对象:1)超级块(superblock)2)索引节点(inode)3)目录项(dentry)4)文件对象(file)一个进程在对一个文件进行操作时各种对象的引用过程如下:通过task_struct得到files_struct,然后通过文件描述符(int fd)获得相应的文件...
分类:
其他好文 时间:
2015-11-04 14:31:05
阅读次数:
1718
在POXIS下,允许不同进程间传递文件描述符(File Descriptor))的, 比如传递socket,或者普通文件,进而可以达到不需要重新打开文件,而对相同文件读写的效果(并不是分享文件句柄)。Chromium对这个特性做了封装。...
分类:
系统相关 时间:
2015-11-02 01:34:52
阅读次数:
294
重定向$echo "test redirect" > temp.txt --将输出写入temp.txt,temp.txt文件中的内容首先被清空。$echo "test redirect second" > temp.txt --将输出追加到temp.txt。文件描述符0 --stdin标准输入1 -...
分类:
系统相关 时间:
2015-10-30 13:54:50
阅读次数:
198
1、将标准输出(stdout)和标准错误输出(stderr)分别重定向到两个不同的文件其中符号'>'默认将标准输出重定向,意思和'1>'相同,‘2>'表示重定向标准错误输出,数字1和2其实是文件描述符,在Linux下默认1为标准输出STDOUT,2为标准错误输出STDERR2、将标准输出和标准错误输...
分类:
系统相关 时间:
2015-10-29 21:30:27
阅读次数:
210
服务器/root目录下有a.list、aa.list2个文件aa.list为a.list的拷贝2.一个终端用more占用a.list,在另一个终端把a.list删掉3.用lsof查看下a.list第一列是进程名第二列是PID第四列是文件描述符4.进程2039正在打开文件文件描述符是4,用ls查看下:ls-l/proc/2039/fd/45.用cp命令恢复..
分类:
系统相关 时间:
2015-10-23 00:09:49
阅读次数:
297
select的限制
用select实现的并发服务器,能达到的并发数一般受两方面限制:
1)一个进程能打开的最大文件描述符限制。这可以通过调整内核参数来改变。可以通过ulimit -n(number)来调整或者使用setrlimit函数设置(需要root权限),但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat /proc/sys/fs/file-max 查看。
...
分类:
系统相关 时间:
2015-10-21 00:24:10
阅读次数:
359
c_select 调用1. select系统调用select系统调用是用来让我们的程序监视多个文件描述符的状态变化的。程序会停在select这里等待,直到被监视的文件描述符有某一个或多个发生了状态改变。select()的机制中提供一fd_set的数据结构,实际上是一long类型的数组,每一个数组元素...
分类:
其他好文 时间:
2015-10-18 16:48:11
阅读次数:
215
本文为《hadoop技术内幕:深入解析MapReduce架构设计与实现原理》一书第9章《Hadoop性能调优》的总结。图1 Hadoop层次结构图从管理员角度进行调优1.硬件选择master配置(可靠性,内存,CPU主频等)优于slave。2.操作系统参数调优 1)增大同时打开的文件描述符和网络连....
分类:
其他好文 时间:
2015-10-18 15:15:39
阅读次数:
325
1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数...