IO概念 Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有相应的描述符,称为socke ...
分类:
系统相关 时间:
2017-07-09 17:22:24
阅读次数:
245
在Linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时 ...
分类:
其他好文 时间:
2017-07-09 17:17:58
阅读次数:
176
又一道pwnable,我还没放弃。。 ssh mistake@pwnable.kr -p2222 (pw:guest) 源代码如下: 源代码中,对于文件打开错误条件判断出有问题 最后执行的应该是=号,也就是说fd= 1,当fd=1,函数read读取就从stdin获得,这部分数据可以被用户输入。 这就 ...
分类:
其他好文 时间:
2017-07-06 15:17:13
阅读次数:
132
??1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown。unlink,fclose 表头文件 #include<unistd.h> 定义函数 int close(int fd); 函数说明 当使用完文件后若已不再须要则可使用close()关闭该文件,二close( ...
分类:
系统相关 时间:
2017-07-06 10:11:59
阅读次数:
245
在调试cs时,s端循环收,c端循环发,s端意外崩溃后,c端自动退出,终端提示SIGPIPE导致c端退出。man 7 signal: SIGPIPE发生在:写一个没有读的管道,默认动作是终止程序。man 2 write: write的错误码EPIPE发生在写的fd对应的pipe或者socket对端的读 ...
分类:
系统相关 时间:
2017-07-01 19:30:49
阅读次数:
276
题目大意:Framer John有一段木板,想用以建筑围墙,没有锯子的他仅仅好向Framer Don求助。FD提出要求,FJ每截开一段木板,就要给这段木板长度的钱。FJ想使花费最少,向你求助。 思路:绝对是合并果子的翻版!把截木板当成合并木板即可了。小心L、n的范围,终于的ans用int装是装不下的 ...
分类:
其他好文 时间:
2017-07-01 17:21:40
阅读次数:
164
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在 ...
分类:
其他好文 时间:
2017-06-27 19:57:01
阅读次数:
187
之前测试遇到了"too many open files"的问题。ulimit -Hn 查了下发现server上最大open file数是4096。写了个简单的脚本检测发现进程创建的fd个数在不断增加,8分钟之后达到上限然后程序报错,其中绝大部分fd都是关于socket的。 在server上安装lso ...
分类:
系统相关 时间:
2017-06-26 18:56:00
阅读次数:
263
## 第一张卡 金额 | 扇区数据: |: 56.77 | 3C 48 2D 16 05 B7 00 00 00 02 02 00 00 FD 00 B756.65 | 35 37 21 16 00 C8 00 00 00 02 02 00 00 FD 00 C856.15 | F8 04 EF 1 ...
分类:
编程语言 时间:
2017-06-25 23:55:12
阅读次数:
227
磁盘分区 想要在系统内新加一块磁盘的步骤: 1.对磁盘进行分区,以新建新的分区 2.对分区进行格式化(format),以创建系统可用的文件系统 3.若想要分的仔细一些,则可以对刚才新建好的文件系统进行检验 4.在Linux系统之上,需要创建挂载点,并将其挂载上去一.磁盘分区 fd..
分类:
其他好文 时间:
2017-06-25 12:04:22
阅读次数:
326