linux fd分析方法及原理 too many open files解决方案
分类:
其他好文 时间:
2016-03-18 10:54:48
阅读次数:
243
上一篇对twisted大致做了介绍以及一些基本的概念。 这一篇从一个python epoll/soket聊天程序开始。 我们要实现的很简单,就是利用epoll实现一个服务端/客户端间的聊天,服务端和客户端可以接收消息的同时,可以利用raw_input,在命令行输入。 我们将socket fd设置为非
分类:
其他好文 时间:
2016-03-17 22:51:37
阅读次数:
577
1、写函数write 函数原型: size_t write(int fd,const void *buf,size_t nbytes); write函数将buf中的nbytes字节内容写入文件描述符fd,成功时返回写的字节数,失败时返回-1。在网络程序中,向套接字文件描述符写时有两种情况: 1)wr
分类:
其他好文 时间:
2016-03-07 19:15:59
阅读次数:
140
设备控制理论 1.设备控制的作用 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如改变波特率。 2.设备控制的函数 在用户空间使用ioctl系统调用函数来控制设备。 int ioclt(int fd, unsigned long cmd, ...) fd:要控制的设备文件描
分类:
其他好文 时间:
2016-03-07 18:48:02
阅读次数:
293
1、五种IO模型 2、select int select(int maxfdp1, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exeptfds, struct timeval *restrict tim
分类:
其他好文 时间:
2016-03-06 15:40:12
阅读次数:
132
1 int readn(int connfd, void *pbuf, int nums) 2 { 3 int nleft = 0; 4 int nread = 0; 5 char *pread_buf = NULL; 6 struct timeval select_timeout; 7 fd_se
分类:
其他好文 时间:
2016-02-20 11:58:16
阅读次数:
165
readv 和 writev 函数用于在一次函数调用中读、写多个非连续缓冲区。有时也将这两个函数称为散布读和聚集写。 #include <sys/uio.h> ssize_t readv(int fd, const struct iovec *iov, int iovcnt); ssize_t wr
分类:
其他好文 时间:
2016-02-16 22:08:14
阅读次数:
223
文件描述符,fd? 当每个程序打开文件时,系统会返回一个文件描述符,程序为了处理文件需要引用这个文件描述符,简称fd。fd是一个整数,从0开始,其中0为标准输入,1和2分别为标准输出和标准错误输出。比如printf就默认使用stdout。fd是以进程为单位的,每个进程有一个最大的fd数目,可以使用u
分类:
系统相关 时间:
2016-02-16 11:25:36
阅读次数:
236
16.信号量互斥编程 我们先来看一个例子。就是两个进程访问同一个文件,由于线程的先后,导致内容的异常。即是数据内容的混乱。 Student1.c: #include #include #include #include void main(){ //open file int fd = 0; fd ...
分类:
其他好文 时间:
2016-02-14 09:10:07
阅读次数:
304
早上起来被告知昨晚误删除了3个mysql的文件,只能恢复了这是删除前的文件信息:首先lsof查看进程:这里PID都是一样的,下面进入proc里ls-l查看:#cd/proc/8784/fd/这里可以看到ibdata1删除的信息了接着直接cp复制#cp4/tmp/ibdata1.bak其余的2个同理恢复,下面是恢复后的文件:++..
分类:
系统相关 时间:
2016-02-03 14:35:20
阅读次数:
297