系统检测工具
tcpdump
tcpdump是一款经典的转包工具,tcpdump给使用者提供了大量的选项,泳衣过滤数据报或者定制输出格式。
lsof
lsof是一个列出当前系统打开的文件描述符的工具。通过它我们可以了解感兴趣的进程打开了哪些文件描述符,或者我们感兴趣的文件描述符被哪些进程打卡了。
nc
nc命令主要被用来快速构建网络连接。...
分类:
系统相关 时间:
2014-07-14 16:16:36
阅读次数:
265
linux服务器编程 TCP和UDP同时用复用一个端口实现一个回射服务器...
分类:
其他好文 时间:
2014-07-13 19:02:10
阅读次数:
374
linux服务器编程 用多线程来读取epoll模型下的客户端数据...
分类:
编程语言 时间:
2014-07-13 18:27:25
阅读次数:
271
进程池和线程池
池的概念
由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正是运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接从池中获取,无需动态分配。很显然,直接...
分类:
编程语言 时间:
2014-07-13 17:28:53
阅读次数:
363
多线程编程
Linux线程概述
线程模型
线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上也称为LWP(Light Weigth Process,轻量级进程),运行在内核空间,由内核来调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并...
分类:
编程语言 时间:
2014-07-08 19:45:08
阅读次数:
219
多线程编程
条件变量
如果说互斥锁是用于同步线程对共享数据的访问的话,那么条件变量则是用于线程之间同步共享数据的值。条件变量提供了一种线程间的通信机制:当某个共享数据达到某个值得时候,唤醒等待这个共享数据的线程。
条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量,其他现成在获得互斥量之前不会察觉到这种变化,因为必须锁住互斥量以后才能计算条件。...
分类:
编程语言 时间:
2014-07-08 15:06:42
阅读次数:
249
??
定时器
服务器程序通常管理着众多定时事件,因此有效组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着至关重要的影响。位置我们要将每个定时事件封装成定时器,并使用某种容器类型的数据结构,比如链表、排序链表和时间轮将所有定时器串联起来,以实现对定时事件的统一管理。
Linux提供三种定时方法:
1.socket选项SO_RECVTI...
分类:
系统相关 时间:
2014-07-06 12:20:37
阅读次数:
371
多进程编程
多进程编程包括如下内容:
复制进程影映像的fork系统调用和替换进程映像的exec系列系统调用。
僵尸进程以及如何避免僵尸进程
进程间通信(Inter-Process Communication,IPC)最简单的方式:管道
3种进程间通信方式:信号量,消息队列和共享内存
fork系统调用
#inclu...
分类:
系统相关 时间:
2014-07-06 08:09:00
阅读次数:
329
??
信号
信号是由用户、系统或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。Linux信号可由如下条件产生:
对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号。比如输入Ctrl+C通常会给进程发送一个终端信号。
2.系统异常
系统状态变化
运行kill命令或调用kill函数
Linux信号概述
...
分类:
系统相关 时间:
2014-07-04 08:07:47
阅读次数:
362