将stdin定向到文件有3种方法:1.close then open .类似挂断电话释放一条线路,然后再将电话拎起来从而得到另一条线路。 先close(0);将标准输入关掉,那么文件描述符数组中的第一个元素处于空闲状态。(一般数组0=stdin, 1=stdout, 2=stderror,如果不关....
分类:
系统相关 时间:
2014-11-05 00:01:07
阅读次数:
382
网上可以看到不少有关oracle运行时误删数据文件的讨论,对于使用rm操作系统命令删除的文件,可以通过copy文件描述符来恢复文件,当然这种方式的前提还是数据库还在运行。但在DB还在运行时直接copy文件描述符来恢复文件,这样操作其实有几个问题:copy过程中需要额外的存储空间..
分类:
数据库 时间:
2014-11-04 15:19:52
阅读次数:
256
linux下文件被删除可以用很多工具进行恢复,例如undelete(适合ext2,ext3)、giis(不能恢复安装giis之前的文件)、ext3grep(仅限ext3)、R-linux(支持ext3,但是需要操作系统是32位的)。还有testdisk等等就不一一介绍了。需要注意的是,我们误删文件后,最好保持现场。
下面不用工具来恢复误删的数据文件:
ZBDBA@orcl11g>select ...
分类:
系统相关 时间:
2014-11-04 11:10:42
阅读次数:
276
1 引言 不带缓冲区的I/O(unbuffered I/o)是指每个read 和 write 都调用内核中的一个系统调用,这些不带缓冲区的I/O 不是ISO C 的组成部分。2 文件描述符 每个打开的文件都通过文件描述符引用,文件描述符是一个非负整数。open 和 create 函数返回的文件描.....
分类:
其他好文 时间:
2014-11-02 22:13:44
阅读次数:
238
read和write
#include
ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);
参数:
fd: 文件描述符
buf:数据缓冲区,用于保存要从fd读取或写入的数据
count:输入/写入的数据最大字节数。(实际读取或...
分类:
其他好文 时间:
2014-10-30 13:33:52
阅读次数:
238
背景:屏幕打印不一定都是从标准输出来的,也包括标准错误输出流stderr中的信息文件描述符定义(系统定义了12个)0 标准输入1 标准输出2 标准错误0 默认键盘输入1,2默认从屏幕打印,可以重定向到其他文件参考:流,管道重定向[IBM]:http://www.ibm.com/developerwo...
分类:
系统相关 时间:
2014-10-29 01:57:04
阅读次数:
215
(1)select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。 select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。 select的一个...
分类:
其他好文 时间:
2014-10-29 00:20:30
阅读次数:
366
1. evtimer_new(base, callback, NULL)用来做定时器,即当达到一定时间后调用回调函数callback,用evtimer_add激活定时器。
2. bufferevent_write(struct bufferevent *bufev, const void *data, size_t size)把数据写入一个bufferevent buffer中,它被用来将数据写入文件描述符,当数据变得能够写时,会自动写入到描述符中。...
分类:
其他好文 时间:
2014-10-28 20:04:59
阅读次数:
186
由于poll()和select()的局限,2.6内核引入了event poll(epoll)机制。虽然稍微复杂,但是epoll解决了它们共有的基本性能问题,并增加了一些新的特性。 poll()和select()每次调用都需要所有被监听的文件描述符。内核必须遍历所有被监视的文件描述符。当这个表变得很大...
分类:
其他好文 时间:
2014-10-28 19:42:22
阅读次数:
175
一、select
使用的集合的方式,最多只能监听1024个文件描述符,内部使用位操作,将相应的位置为1或者置为0,需要将可读、可写、异常的三类事件分开来用,内部使用轮询的方法,每次返回都需要将所有的套接字从内核到用户空间之间进行拷贝。
二、poll
比select稍微好一点,也是在指定时间内轮询一定数量的文件描述符,以测试其中是否有就绪。
三、epoll_wai...
分类:
其他好文 时间:
2014-10-26 23:03:38
阅读次数:
353