hepeng597的专栏

私信 关注
hepeng597
码龄14年
  • 459,326
    被访问量
  • 36
    原创文章
  • 27,571
    作者排名
  • 43
    粉丝数量
  • 于 2006-10-11 加入CSDN
获得成就
  • 获得15次点赞
  • 内容获得52次评论
  • 获得70次收藏
荣誉勋章
TA的专栏
  • linux编程
    19篇
  • lighttpd_1.4.20 源码分析
    6篇
  • shell相关
    19篇
  • c++ STL相关
    3篇
  • 菜谱
    2篇
  • linux kernel
    1篇
  • 综合
    4篇
  • 算法
    3篇
  • 性能
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

fence 2.01 破解版 适用于win7

Fence 2.01, 适用于win7,其它机器没试过. 解压后,里面包含两个文件,一个是安装文件,另一个是破解程序,安装好后,把破解程序拷贝到安装目录里,执行patch,就OK了。 小试了下,该版本支持在桌面上创建其它盘的文件夹快速框。
rar
发布资源于 7 年前

git 详细教程,从头开始,看简单英文比中文好懂

Beginner PLEASE NOTE, Section I and II below, are not to be followed in order, they are 2 separate Actions (one to create a new local git repo to push to remote GIT, and the other to obtain "c
原创
15102阅读
0评论
0点赞
发布博客于 7 年前

ldap 浏览器 window带界面

LDAP browser 查看LDAP信息的轻量级工具
msi
发布资源于 8 年前

win7 64位 php-5.3.6-Win32-VC9-x64

win7 64位 php-5.3.6-Win32-VC9-x64,php开发用
zip
发布资源于 8 年前

配置中转linux机器,使连接该机器上的两个网络的两台主机可以互ping通

一、网络环境:网络1:主机A:eth0 ip:168.1.1.76gateway: 168.1.1.1 网络2:主机B:eth0 ip:172.18.128.23gateway:172.18.128.1 中转机:eth0 ip1:168.1.1.7  与网络1主机A互通eth1 ip2:172.
原创
8049阅读
0评论
0点赞
发布博客于 8 年前

linux syslog服务器配置,自动发日志到另一台日志服务器

1.客户端:168.1.20.66修改/etc/syslog.conf  添加syslog.info   @168.1.80.302.日志服务器:168.1.80.30修改/etc/sysconf/syslog 修改SYSLOGD_OPTIONS为 "-r -x -m 0"   #-r表示允许接收外来的消息,-x表示不解析DNS,#-m 0表示时间戳标记间隔,如果指定只
原创
23363阅读
0评论
0点赞
发布博客于 8 年前

字符串公共串

一、找出最长公共子序列的长度题:求字符串str1,str2的最长公共子序列的长度(可以不连续)。解:定义二元函数函数f(m,n):分别以str1[m],str2[n]结尾的连续公共子序列的长度而对于f(m,n) 有以下两种情况1.str1[m] != str2[n],则有f(m,n) = max(f(m-1,n), f(m, n-1))2.str
原创
1081阅读
0评论
0点赞
发布博客于 8 年前

Linux 启动详解1

在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为:     1. /sbin/init     2. /etc/inittab     3. /etc/rc.d/rc.sysinit     4. /etc/rc.d/rcN.d //这是几个文件夹N代表数字1,2,3,4..     5. /etc/fstab文件介绍:1.关
转载
877阅读
0评论
1点赞
发布博客于 8 年前

求一个数组中满足一定条件的两个元素的最大差值

之前在面的时候碰到一道题,要求找出一个互异数组中两个元素的最大差值。具体描述如下:有一个整数数组d[0,...,n-1],并且数组满足不存在相同的元素,要求找出1) max{d[i] - d[j]} 且 i > j;(对应实际生活中的股票买卖,找出可能的最大收益)2) max{d[i] - d[j]} 且 i 思路有很多种,用动态规划最简单,时间复杂度都是O(n),
原创
2945阅读
1评论
0点赞
发布博客于 8 年前

KMP算法详解及各种应用

KMP算法详解:KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的,就取三个人名字的首字母作为该算法的名字。其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除了指针i的回溯问题,只需确定下次匹配j的位置即可,使得问题的复杂度由O(mn)下降到O(m+n)。在KMP算法中,为了确定在匹配不成功时,下次匹配时j的位置,引入了next[]数组,next[j]的值表示P[0.
转载
581阅读
0评论
0点赞
发布博客于 8 年前

实战Nginx与PHP(FastCGI)的安装、配置与优化

一、什么是 FastCGIFastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。 FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP
转载
868阅读
0评论
0点赞
发布博客于 8 年前

fastcgi与cgi的区别

先讲下cgi:cgi在2000年或更早的时候用得比较多, 以前web服务器一般只处理静态的请求,如果碰到一个动态请求怎么办呢?web服务器会根据这次请求的内容,然后会fork一个新进程来运行外部c程序(或perl脚本...), 这个进程会把处理完的数据返回给web服务器,最后web服务器把内容发送给用户,刚才fork的进程也随之退出。 如果下次用户还请求改动态脚本,那么web服务器又再次for
转载
809阅读
0评论
0点赞
发布博客于 8 年前

daemon 进程为什么要fork两次,与后台运行程序区别?

daemon进程是后台守护进程,有时候也叫精灵进程(agent).linux 下server都是daemon进程。相信大部分开发人员都知道如何去写一个daemon进程。但是另一方面,大部分人不知道为什么要这么做,不少人是从某个地方copy一个函数,拿来主义。但是具体为什么这么实现,却不是很透彻。  见过一些面试官或被面试人。很多人解释daemon进程存在的理由是因为僵死进程。或
原创
9704阅读
1评论
1点赞
发布博客于 8 年前

Nginx内核参数相关的优化设定

转自:http://developer.51cto.com/art/201003/191603.htmNginx内核参数一个长时间困扰着网管员的问题,在实际的操作中各种小技巧还是需要我们引起注意。下面我们就详细的看看如何进行。Nginx内核参数在使用的时候有不少问题需要我们解决,其中在优化方面就需要我们格外的注意。在下面就是对Nginx内核参数优化的详细介绍,希望大家有所收获。
转载
655阅读
0评论
0点赞
发布博客于 8 年前

LVS 虚拟服务器三种模式例子

NAT模式 1.模拟环境: LVS服务器有两块网卡,连接外网(用户端)和内网(服务器),充当"交警"角色. 优点: 节省ip开销 缺点: LVS服务器负载过高,数据吞吐量降低 三台Linux虚拟机: LVS服务器(vmnet1 ip: 200.168.10.10 , vmnet2 ip: 192.168.10.1) WEB服务器1(vmnet2 ip: 192.168.
转载
3127阅读
0评论
0点赞
发布博客于 8 年前

LVS 三种工作模式的优缺点比较

LVS 三种工作模式的优缺点比较一、Virtual server via NAT(VS-NAT)优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。缺点:扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请
转载
1110阅读
0评论
0点赞
发布博客于 8 年前

21天学会java(全中文免费)

免积分,我为人人。适合初学者,简单易懂,入门快速、容易,教材从浅入深.
pdf
发布资源于 8 年前

海量数据处理算法总结

1. Bloom Filter【Bloom Filter】Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。也就是Bloom Filter判断元素不再集合,那肯定不在。如果判断元素存在集合中,
转载
1262阅读
0评论
0点赞
发布博客于 8 年前

使用openssl的md5库

在linux机器上,有一个命令可以计算出文件的md5值,那就是md5sum,如果没有的话,就需要安装RPM包:coreutils。现在我们使用openssl的库也可以方便的计算出文件的md5值。主要用到的函数是int MD5_Init(MD5_CTX *c);int MD5_Update(MD5_CTX *c, const void *data, size_t len);int M
原创
21437阅读
2评论
2点赞
发布博客于 8 年前

scp 断点续传

scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:rsync -P --rsh=ssh home.tar 192.168.205.34:/home/home.tar-P: 是包含了 “–part
原创
32463阅读
3评论
0点赞
发布博客于 8 年前

一份非常内行的Linux LVM HOWTO

1. 绪论 欢迎你,亲爱的读者。 写这个文档的目的是为了告诉你什么是LVM,它怎样工作,你怎样运用它使你的生活变得更容易。虽然有一份LVM FAQ,但仍是德文的,它是从不同的角度来描写的。它是一份“真的”HOWTO,在传授理解(有希望的)的时候也是非常内行的。 我要说清楚我不是一个Linux逻辑卷管理器(Logical Volume Manager)的作者。我向那些作者表示敬意
转载
1405阅读
0评论
0点赞
发布博客于 8 年前

linux中getmntent setmntent endmntent 用法例子

mntent 结构是在 中定义,如下:              struct mntent {                      char    *mnt_fsname;    /* name of mounted file system */                      char    *mnt_dir;       /* file system path
原创
9411阅读
0评论
0点赞
发布博客于 8 年前

linux大端,小端,网络字节序转换之可移植性代码

我们有时候经常被大端,小端,网络字节序搞得很迷糊,本文理清一些概念,并给出可移植的代码。我们的主机字节序,即我们的机器存放内存里的顺序,有两种,一种是大端,另一种是小端,大部分的系统都是小端。在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节,比如一个unsigned short的变量的值为十六进制"0x0a 0x0b"对应的十进制2571,这个变量跨了1个字节
原创
5689阅读
0评论
0点赞
发布博客于 8 年前

net-snmp agent开发详解,非常简单

转载请标明出处 原文地址:http://blog.csdn.net/hepeng597/article/details/8782868花了一两天时间测试和整理一下。用net-snmp扩展MIB库,实现方法可归结为四种:1)一是静态库方式,通过修改配置头文件,在相应地方包含新引入的mib模块的.c和.h文件,然后重新编译库文件和扩展代码;这种方式不够灵活,每次修改扩展的MIB后,
原创
93895阅读
28评论
12点赞
发布博客于 8 年前

如何自动输入密码ssh连接到其他机器

想在shell脚本里ssh连接到另外一台服务器后执行一些命令,但是不希望通过交互方式输入登录密码。主要的解决方法有三种:1. 生成ssh公钥,建立和对方机器的信任关系;2. 使用expect脚本;3. 使用sshpass。这里介绍一下sshpass相关内容下载并安装sshpass):# tar zxvf sshpass-xxxx.tar.
原创
15410阅读
0评论
1点赞
发布博客于 8 年前

根据成员变量的地址推算出结构体变量的地址

在linux当中对此有一个很好的宏可以使用,叫做 container_of, 放在 linux/kernel.h当中。它的定义如下所示:/*** container_of - cast a member of a structure out to the containing structure** @ptr: the pointer to the member.* @type: th
原创
1014阅读
0评论
1点赞
发布博客于 8 年前

linux 修改时间 date

修改linux的时间可以使用date指令 修改日期: 时间设定成2009年5月10日的命令如下: #date -s 05/10/2009 修改时间: 将系统时间设定成上午10点18分0秒的命令如下。 #date -s 10:18:00 修改时区: 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai替换当前的/etc/l
转载
517阅读
0评论
0点赞
发布博客于 8 年前

编译linux内核tips

TIPS:1.下载源码解压后,先make menuconfig,在GUI界面根据需要生成对应.config的配置文件2.有了.config的配置文件后,可以make bzImage, 会在/boot目录中生成一些重要的文件,比如:initrdfsxxx.img,vmlinuzxxx, 这两个文件很重要,是在开机启动时会加载到内存的小文件系统,如果这两个文件不对,或者说.config文件没有
原创
2086阅读
0评论
0点赞
发布博客于 8 年前

iptables用法初解

一、四表五链之间的关系4个表:filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter。filter:一般的过滤功能nat:用于nat功能(端口映射,地址映射,中转IP等)mangle:用于对特定数据包的修改raw:有限级最高,设置raw时一般是为了
原创
12879阅读
0评论
0点赞
发布博客于 8 年前

Linux 启动详解2

机器加电启动后,BIOS开始检测参数,如内存的大小,日期和时间,磁盘设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查软驱或者光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader.里面的boot
转载
858阅读
0评论
0点赞
发布博客于 8 年前

rhel6系统启动过程故障排错处理

http://chaorenyong.blog.51cto.com/2163445/1048194解析Linux系统开关机流程,让你游刃有余的掌握在系统启动过程过的任何错误,让你真正把握整个Linux系统,让你成为系统管理员中故障排错解除的佼佼者。掌握了这门技术的管理,能在短时间内判断出系统故障产生的原理,从而快速找到故障点,并轻松解决,为企业节省大量的人力和物力,减少大量不必要损失。
转载
2831阅读
0评论
0点赞
发布博客于 8 年前

secureCRT 显示乱码问题(总结)

1:最简单的方法是直接改   Session Option→选字体(新宋体)→再选Character encoding(选UTF-8)   然后再修改远程linux机器的配置  vi /etc/sysconfig/i18n  把LANG改成支持UTF-8的字符集  如:LANG=”zh_CN.UTF-8″ 2:如果再不行,可以试试这样   导出 /etc/sys
转载
586阅读
0评论
0点赞
发布博客于 9 年前

Linux 启动详解

机器加电启动后,BIOS开始检测参数,如内存的大小,日期和时间,磁盘设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查软驱或者光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader.里面的boot loader通
转载
887阅读
0评论
0点赞
发布博客于 9 年前

shell 多行注释

由于Shell不支持直接多行注释,总结了以下Shell注释多行的变通方法  一、通过Here Documents和:实现  1、最简单方法 :<<BLOCK  ....注释内容    BLOCK  把输入重定义到前面的命令,但是:是空命令,所以就相当于注释了。  如果注释中有反引号的命令就会报错。反引号部分没被注释掉,例如ab=`ls -l abc`就不会被注释掉。  2、解决注释
转载
8956阅读
0评论
1点赞
发布博客于 9 年前

tr命令常用例子

一、首先介绍下代替符号[:lower:]所有的小写字母[:upper:]所有的大写字母[:alnum:] 表示所有的字母和数字[:alpha:] 表示所有的字母[:blank:] 表示所有空格[:digit:] 表示所有数字[:punct:] 表示标点符号[:graph:] 表示所有可打印字符,但不包括空格[:print:
原创
891阅读
0评论
0点赞
发布博客于 9 年前

vim 缩进

vim tab变空格对于使用vim的程序员来说,shiftwidth,tabstop,softtabstop绝对是经常接触的三个缩进因素。能否有方便美观的,整体化的缩进,主要是由他们相互间的配合决定。在经过一段时间试用后,总结一下我的设置经验。1 shiftwidth:这个是用于程序中自动缩进所使用的空白长度指示的。一般来说为了保持程序的美观,和下面的参数最好一致。同时
转载
1248阅读
0评论
0点赞
发布博客于 9 年前

shell 间接变量引用的问题

1.感叹号的使用aaa=123bbb=aaaecho $bbbecho ${!bbb}输出结果:aaa123可见,感叹号是可以引用间接变量的值2.eval的使用aaa=123bbb=aaaecho $bbbeval ccc=\${$bbb}echo $ccc输出结果:aaa123问题:当遇到星号后,间接引用与编程者期
原创
5648阅读
0评论
0点赞
发布博客于 9 年前

shell if判断常用参数

Grammar:if 条件  # 条件为真,则条件返回0,进入then语句, 如果条件是函数,那么函数返回0则进入then语句then commandelse   # 或者 elif 条件commandfiFast  IF example:执行命令[ $? != 0 ] && exit -1  #如果左边的表达式为真则执行右边的语句Tips:
原创
715阅读
0评论
0点赞
发布博客于 9 年前

shell中数组扩展技巧及实例

1、申明数组例一:a=(111 222)    #一对括表示是数组,数组元素用“空格“符号分割开。echo ${a[0]}    #数组下标从0开始echo $a          #数组也是指针形似,数组名称相当于一个指针,指向第一个数组元素输出:111111 例二:a=([0]=111 [1]=222)例三:a[0]=111a[1
原创
773阅读
0评论
0点赞
发布博客于 9 年前

shell基本计算、逻辑运算、位运算详解

http://blog.pureisle.net/archives/1352.htmlShell 提供大量的基本运算操作,在脚本中非常有用。Shell 对您提供的算术表达式求值,执行运算展开式,此时使用得出的结果替换表达式。以下面的格式提供运算表达式:$(( expression ))$ echo $((5*(3+3)))30$ result = $(($myvar-1
转载
1526阅读
0评论
0点赞
发布博客于 9 年前

sed实例收集

一、元字符集   1)^锚定行的开始 如:/^sed/匹配所有以sed开头的行。    2)$ 锚定行的结束 如:/sed$/匹配所有以sed结尾的行。    3).    匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。    4)*    匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。   5)[]   匹配一个指定
原创
5918阅读
0评论
0点赞
发布博客于 9 年前

盐焗鸡 电压力锅版

主料:鸡1只(我是一半鸡用电压力锅褒汤了,所以我只剩下一半鸡)调料:胡子酒,盐,味精,生抽,老抽,胡椒粉,辣椒面,鸡精,十三香,生姜,葱头(只要能想到的都根据自己喜好放)步骤:1.将鸡冲洗干净,沥干水分,斩去鸡爪,头,鸡屁股2.将适量的胡子酒按摩鸡,放入盐,味精,生抽,老抽,胡椒粉,辣椒面,鸡精,十三香,均匀按摩鸡五分钟左右,放入冰箱等两三小时入味3.将生姜切成薄片,并用生
原创
1317阅读
0评论
0点赞
发布博客于 9 年前

xmlstarlet toolkit 脚本操作xml的好工具, 用法心得

在linux终端或者secureCRT ssh上去,或者是shell脚本可以直接调用xmlstarlet命令操作,解析xml很方便,由于是工作上用到的东东,查了相关的资料,也遇到过一些问题,所以在解决后记录备忘,这里只列出一些常用的命令和一些文档里没有提到的命令,如需文档,请参考:http://xmlstar.sourceforge.net/doc/UG/xmlstarlet-ug.html例
原创
5884阅读
0评论
0点赞
发布博客于 9 年前

蛋挞飞饼版

用料  思念原味飞饼 2张(一包一般有五张,大概8.7元左右)  淡奶油 130克(没有可以省略)牛奶 120克(一定要有,从超市买1.3元一小包的甜牛奶就行)蛋黄 1到2个普通面粉 7克玉米淀粉 4克(没有可以省略)葡萄干 适量(没有可以省略)1.做法  将二张飞饼重叠放在一起2.飞饼表面盖着油纸用擀面杖擀几下,擀成稍大的饼形3.将
原创
1771阅读
0评论
0点赞
发布博客于 9 年前

shell中变量扩展技巧及实例

SHELL中有一些变量扩展的技巧,做下归纳总结mark一、取子字符串规则1:${变量名:位置起点}含义:由指定的位置起点开始,截取子字符串到字符串结束,起点由0开始例1:var="12345678"echo ${var:5}输出:678-------------------------------规则2:${变量名:位置起点:长度}含义:由指定的位置起点
原创
3172阅读
0评论
0点赞
发布博客于 9 年前

heap堆排序及使用

堆有大堆和小堆,一般是在二叉树的结构中使用,当然也可以把一个数组来构建堆,因为可以把一维数组看成是二叉树,如:a[6]={1,2,3,4,5,6}可以看成如下图:在实际运用中,heap一般用于在大范围内的数中找出最大的几个数或者最小的几个数,速度比其它算法快在stl中,可以用make_heap, push_heap,pop_heap来使用堆,代码如下:#include #
原创
976阅读
0评论
0点赞
发布博客于 9 年前

自定义结构作为map的key,比较函数写法

1.当自定义的结构或类作为map的key值时,需要提供比较函数,重载小于操作符。为什么不重载==操作符呢?那map的find函数怎么办呢?实际上,在map的实现里面就是靠 对调operator<两边的操作数实现的。简单的来说,当用map的find或者是set的find函数时,二叉树查找对应值,要涉及到比较操作,如果需要查找的key < element不成立,而且 element < key 也
原创
10754阅读
2评论
0点赞
发布博客于 9 年前

debug版本与release版本示例

示例代码#include #include using namespace std;int main(){ int *p = NULL; assert(p!=NULL); cout << "123" << endl; return 0;}1)编译debug版本:g++ test.cpp -o test生成文件:-rwxrwxr-x
原创
707阅读
0评论
0点赞
发布博客于 9 年前

stl set使用时,passing ‘const xxx’ as ‘this’ argument of 'xxx 'discards qualifiers 丢弃限定符的问题

看下面的代码有什么问题?#include #include class test{public: int data; bool operator < (const test& dst) { return data < dst.data; } void set_data( int param) {
原创
9857阅读
0评论
2点赞
发布博客于 9 年前

IPv6下网络编程socket, TCP和UDP例子,以及兼容IPV4和IPV6的类

一、TCP socket ipv6与ipv4的区别服务器端源代码如下:#include #include #include #include #include #include #include #include #include #include #define MAXBUF 1024int main(int argc, char **argv){ i
原创
53159阅读
12评论
6点赞
发布博客于 9 年前

Lighttpd1.4.20源码分析之插件系统(3)---PLUGIN_TO_SLOT宏

前面讲了lighttpd插件系统的加载和初始化,这一篇中,将介绍一下plugin.c中的宏PLUGIN_TO_SLOT。在将PLUGIN_TO_SLOT宏之前,我们先来看看lighttpd中插件系统的对外接口。这个接口所对的“外”指的是lighttpd服务器。前面已经提到,在运行的过程中,lighttpd不知道所加载的插件都是干什么用的,只知道这些插件所实现的接口,也就是在plugin结构体中
转载
1071阅读
0评论
0点赞
发布博客于 9 年前

Lighttpd1.4.20源码分析之插件系统(2)---插件的加载和初始化

转自:http://www.cnblogs.com/kernel_hcy/archive/2010/03/11/1683814.html前面讲了lighttpd插件系统的接口,下面我们来看看插件是怎么加载 和初始化的。lighttpd的插件是以动态链接库的形式存在的。在服务器启动的时候,在初始化阶段将所有插件都加载进来。在server.c中的main函数中,加载插件是调用plu
转载
823阅读
0评论
0点赞
发布博客于 9 年前

Lighttpd1.4.20源码分析之插件系统(1)---plugin结构体和插件接口

转自:http://www.cnblogs.com/kernel_hcy/archive/2010/03/11/1683809.html在lighttpd中,使用插件的形式来增加服务的功能。同时,lighttpd提供了一个插件的公共接口给开发者,方便第三方提供额外的插件。Lighttpd的插件接口主要提供在plugin.h文件中。其中,plugin结构体是最核心的部分。
转载
909阅读
0评论
0点赞
发布博客于 9 年前

linux 监视文件系统inotify 测试

一、简介Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。在实际项目中,如果项目带有配置文件,那么怎么让配置文件的改变和项目程序同步而不需要重启程序呢?一个明显的应用是:在一个程序中,使用Inotify监视它的配置文件,如果该配置文件发生了更改(更新,修改)时,Inotif
原创
9576阅读
0评论
0点赞
发布博客于 9 年前

google coredump 测试

1. 下载最新的coredump代码当前最新版本为 1.2.1 。项目链接: http://code.google.com/p/google-coredumper/链接给了一个简单的使用方法,我们用这个方法来测试效果#include ... WriteCoreDump('core.myprogram'); /* Keep going, we gen
原创
3881阅读
0评论
0点赞
发布博客于 9 年前

linux logrotate 配置及测试

一、logrotate 配置logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。logrotate 的配置文件是 /etc/logrotate
原创
22406阅读
0评论
0点赞
发布博客于 9 年前

array.c(h) 通用数组解析

转自:http://www.cnblogs.com/kernel_hcy/archive/2009/10/23/1588873.htmlLighttpd提供了一个通用数组,这个数组与程序的其他部分练习较少,因此可以单独进行分析。首先要说一下Lighttpd中的定义的一些数据结构。在array.h中有下面的定义:typedef enum { T
转载
1503阅读
0评论
0点赞
发布博客于 9 年前

Lighttpd中CGI执行流程

转自:http://blog.csdn.net/lenky0401/article/details/4201713对于Lighttpd中CGI执行流程的多余文字不用过多说明,图片里已经基本说的很清楚了。从图中,我们可以看到对于客户端的每一个请求(动态页面,也就是需要CGI处理的),Lighttpd进程都是先fork一个CGI进程,然后将请求头(通过环境参数)和请求体(通过管道)传递
转载
4023阅读
1评论
0点赞
发布博客于 9 年前

mod_extforward: 让lighttpd记录客户端的真实IP

该模块在1.4.14及以后的版本才有,主要功能是在使用了反向代理后,可以获取客户端真实IP地址,在使用了nginx或者NetScaler这样的反响代理/负载均衡设备以后,后段服务器的访问日志中看到的请求IP都是前面的nginx或者NetScaler的IP,而我们很多时候需要通过分析Log来查看用户访问的地理分布情况,这就需要记录来访用户的真实IP地址。1.首先需要在前端的负载均衡设备上配置
翻译
2272阅读
0评论
0点赞
发布博客于 9 年前

linux echo 让你的脚本输出加上颜色吧

1.echo 具有给输出的字符加颜色的功能,格式如下:格式: echo -e "\033[字背景颜色;字体颜色;ANSI控制码m字符串\033[0m" -e选项是让echo能够识别转义字符,否则不能显示颜色,先上个格式相关的例子例1:echo -e "\033[41;36m something here \033[0m" 或者:echo -e "\033[36;41
原创
8356阅读
0评论
0点赞
发布博客于 9 年前

linux下利用rtc 实现精确定时器

rtc是linux系统中的一个时间设备,可以open打开,通过ioctl设置频率,然后就可以进行循环read操作,每次read的耗时是(1/频率 单位:秒)先上代码#include #include #include #include #include #include #include #include #include #include #define FREQ 2
原创
5471阅读
1评论
0点赞
发布博客于 9 年前

linux 内核驱动编程 简单例子 与_IO, _IOR, _IOW, _IOWR 宏解析

一、_IO, _IOR, _IOW, _IOWR 宏的用法与解析在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。bit29~bit15 14
原创
5969阅读
1评论
0点赞
发布博客于 9 年前

linux显示指定目录下所有的文件,子目录及子目录的文件

可以调用 dirent.h 中的scandir函数扫描指定目录中所有的文件名如下,用了一个队列先进先出保存每一级的目录,while循环,无需递归,需要把.和..目录过滤#include #include #include #include #include using namespace std;void scandir_recursive(const char*
原创
6453阅读
0评论
0点赞
发布博客于 9 年前

鸟哥的linux私房菜基础学习篇 第三版 第2卷

如题,这么著名的东东就不用再介绍了。 注:需把两卷都下载在同一目录下,再解压任一文件,即可,否则不能解压
application/x-rar
发布资源于 11 年前

鸟哥的linux私房菜基础学习篇 第三版 第1卷

如题,这么著名的东东就不用再介绍了。 注:需把两卷都下载在同一目录下,再解压任一文件,即可,否则不能解压
application/x-rar
发布资源于 11 年前

Linux C函数库参考手册

共411页,PDF格式 1.字符测试函数 2.数据转换函数 3.内存配置函数 4.时间函数 5.字符串处理函数 6.数学计算函数 7.用户和组函数 8.数据加密函数 9.数据结构函数 10.随机数函数 11.初级I/O函数 12.标准I/O函数 13.进程及流程控制 14.格式化输入输出函数 15.文件及目录函数 16.信号函数 17.错误处理函数 18.管道相关函数 19.socket相关函数 20.进程通信(IPC)函数 21.记录函数 22.环境变量函数 23.正则表达式 24.动态函数 25.其它函数
application/pdf
发布资源于 11 年前

RTSP中文版 实时流协议 电子书

1 介绍3 11 目的3 12 要求4 13 术语4 14 协议特点6 15 扩RTSP8 16 整体运作8 17 RTSP状态9 18 与其他协议关系10 2 符号约定10 3 协议参数12 31 RTSP版本12 32 RTSP URL13 33 会议标识15 34 会话标识15 35 SMPTE 相对时间戳16 36 正常播放时间16 37 绝对时间17 38 选择标签18 4 RTSP消息18 41 消息类型19 42 消息头部19 43 消息主体20 44 消息长度21 5 普通头部域21 6 请求21 61 请求行22 62 请求头部域23 7 响应23 71 状态行24 711 状态码和原因解释24 712 响应头部域29 8 实体29 81 实体头部域29 82 实体主体30 9 连接30 91 管道30 92 可靠性及确认31 10 方法定义31 101 OPTIONS(可选项)32 102 描述(DESCRIBE)33 103 通知(ANNOUNCE)34 104 建立(SETUP)35 105 播放(PLAY)36 106 暂停(PAUSE)38 107 断开(TEARDOWN)39 108 获取参数(GET_PARAMETER)40 109 设置参数(SET_PARAMETER)41 1010 重定向(REDIRECT)42 1011 录制(RECORD)42 1012 嵌入(交织)的二进制数据43 11 状态码定义44 111 成功 2xx44 112 重定向 3xx44 113 客户端错误 4xx44 12 头部域定义46 13 Caching63 14 示例64 141 按需点播(单播)64 142 容器文件的流化67 143 单流容器文件70 144 现场媒体表示使用多播72 145 向已存在的会话播放媒体73 146 录制75 15 语法77 151 基本语法77 16 安全考虑79 附录A:RTSP 协议状态机81 附录B:同RTP交互84 附录C:用SDP描述RTSP会话85 附录D:最小RTSP实现89
application/pdf
发布资源于 11 年前

visual paradigm for uml 7.2 licence file

vp suite4.2 认证文件,包括vp for uml 7.2
application/octet-stream
发布资源于 11 年前