使用管道需要注意的四种特殊情况第一种情况:如果所有指向管道写端的文件描述符都关闭后,还有进程在读的话,当管道所有内容读完后,再次read会返回0.运行结果:结果分析:我们在子进程里面写了10次,写完后关闭写,然后父进程读,读了10次之后当读第11次时候,read返回了0,证..
分类:
其他好文 时间:
2016-04-13 00:35:01
阅读次数:
163
Linux下的socket网络编程linux网络编程是通过socket(套接字)接口实现,Socket是一种文件描述符,socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"模式的实现,服务器和客户端各自维护一个"文件",在建立连接打开后,可以向自己文件写入内容供..
分类:
系统相关 时间:
2016-04-12 07:44:17
阅读次数:
296
消息队列也是一种用于进程间通信的方式,它放在计算机内核中,并由消息队列表示符(类比文件描述符)标识,它由操作系统维护。消息队列的特点:1>它支持进程间双向无阻塞的通信。2>它是面向消息传递的。3>它的生命周期是随计算机内核的。下图列出了消息队列的最大消息..
分类:
系统相关 时间:
2016-04-12 07:44:10
阅读次数:
353
select系统调用: 在一段时间内,监听用户感兴趣的文件描述符上的可读、可写和异常等事件 Select的函数格式: int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval*time ...
分类:
其他好文 时间:
2016-04-09 15:25:55
阅读次数:
160
一、文件描述符:内核利用文件描述符(filedescriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。1.优点:1.基于文件描述符的I/O操作兼容POSIX(可移植操作系统接口)标准2.UNIX/LINUX的系统调用中,大量系统调用都依赖于文件..
分类:
其他好文 时间:
2016-04-09 01:49:53
阅读次数:
188
1、FILE文件指针a>.指向进程用户区中的FILE结构的数据结构;b>.FILE结构包括:I/O缓冲区、文件描述符(文件描述表的一个索引);c>.FILE结构中含有文件描述符,可以使用fopen来获得文件指针,然后从文件指针获取文件描述符(文件描述符唯一,而文件指针不唯一,但指向..
分类:
其他好文 时间:
2016-04-09 01:45:52
阅读次数:
150
FILE*:它是C库中定义的一个结构体指针,我们在C语言文件操作时打开一个文件返回的指针类型就是它,在C库中是这样定义的,其中的_file它是一个整数,就是作为文件索引的描述符,C库是建立在系统调用上的,这个FILE结构体可以说是一个包装,底层还是用文件描述符对磁盘上的文件进..
分类:
编程语言 时间:
2016-04-08 01:05:20
阅读次数:
219
fd指向打开的文件描述符列表,开始的时候指向fd_array,当大小超过max_fds时,重新分配地址file结构体代表一个打开的文件f_op其中包含着与文件关联的操作进程内核栈与进程描述符之间的关系task_struct结构体注释详解可参考http://www.educity.cn/linux/518072.htmldentry的中文..
分类:
其他好文 时间:
2016-04-07 18:47:02
阅读次数:
257
经过试验,qt启动一个新的进程时,这个进程的工作目录是继承父进程的,无论是通过start还是startDetached来启动。 其实对于linux系统,qt底层应该也是调用fork、exec之类的函数,对于fork,参看apue中文版第三版,有以下解析: 在f o r k之后处理文件描述符有两种常见 ...
分类:
系统相关 时间:
2016-04-07 18:28:08
阅读次数:
223
通常之前我们在打开文件的时候都是:file=open("a.txt")
try:
data=file.read()
finally:
file.close()*每一个打开文件之后要关闭文件描述符,但是使用with语句则不用:whihopen("a.txt")asf:
printf.readline()这个是with默认封装的好的一个魔法盒子,封装了__enter__和__exit..
分类:
编程语言 时间:
2016-04-05 20:15:05
阅读次数:
218