1.信号集基本操作 我们需要有一个能表示多个信号--信号集(signal set)的数据类型.POSIX.1定义了数据类型sigset_t以包含一个信号 集,并且定义了一下五个处理信号处理信号集函数. #include <signal.h> int sigemptyset(sigset_t *set); //清除set中所有的信号 int sigfillset(sigset_t *set); //使set包含所有的信号 int sigaddset(sigset_t *set, int sign
在正式开始之前,我还是要不厌其烦强调一下:知识就是力量,但是拥有力量不代表着可以为所欲为.触犯法律.同样,骑白马的不一定是王子,会开锁的也不一定是小偷.本文只是关于某些技术的实验与验证,只适用于学习.你知道的越多,就能够越好的保护自己. 准备工作 首先,无需成为一名网络专家,学会使用复杂的命令行工具,你只需要准备一张空白DVD.一台能连接WiFi的电脑,并腾出几个小时时间,这就是我们基本需要的东西.要安装Reaver,可以有很多方法,但是这里我们建议你按照下面的指南来做: The BackTra
http://conversionxl.com/website-information-architecture-optimal-user-experience/ 在网站上应该有什么类型的content?应该如何结构化菜单?第一级的菜单应该有哪些item?一个或者两个menus?菜单链接应该如何被调用? Information architecture是非常重要的,然而大部分商业网站这样构建信息架构: IMO method(In my opinion).虽然说常识对创建site structur
Libev中的信号监视器,用于监控信号的发生,因信号是异步的,所以Libev的处理方式是尽量的将异步信号同步化.异步信号的同步化方法主要有:signalfd.eventfd.pipe.sigwaitinfo等.这里Libev采用的是前三种方法,最终都是将对异步信号的处理,转化成对文件描述符的处理,也就是将ev_signal转化为处理ev_io. 一:数据结构 1:ev_signal typedef struct ev_signal { int active; int pending; int p
Linux 中的进程: 程序时一个预定义的指令序列,用来完成一个特定的任务. C 编译器可以把每个源文件翻译成一个目标文件,链接器将所有的目标文件与一些必要的库链接在一起,产生一个可执行文件.当程序被执行时,操作系统将可执行文件复制到内存中,这就是程序的映像. 进程是一个程序正在执行的实例.每个这样的实例都有自己的地址空间与执行状态.进程必须有一个PID(Process ID,进程标识),以便操作系统能够区分各个不同的进程.操作系统记录进程的 PID 与状态,并根据这些信息来分配系统资源.当操作
nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向时间模块的一个对象,做一个函数继承,让宿主函数也拥有处理事件的能力 使用nodejs事件模块的demo如下: var EventEmitter = require('events'); var util = require('util'); function MyEmitter() { EventE