存档

‘应用程序’ 分类的存档

MongoDB修改监控

2018年4月13日 没有评论 4,207 次浏览

我的系统X采用MongoDB存储配置,现在我有一个需求,当某个App1修改了X的配置时,我希望能及时通知其他的App2、App3等。 在MongoDB3.6版本以前,可以利用–replSet副本配置(备注),监控其产生的OpLog来获取修改变化。 在MongoDB3.6版本之后,有了一个名为Change... [阅读更多]

linux-inject:动态注入替换进程调用函数

2018年3月4日 没有评论 4,915 次浏览

最近打算替换Linux下进程的调用函数,这有点类似于LD_PRELOAD环境变量所实现的功能,但是我需要动态的注入,Google了一下,找到几个玩意,linux-inject、linux-injector等。 这里试试linux-inject。 1,系统环境 CentOS... [阅读更多]

Linux下如何在应用层获取连接跟踪事件

2018年2月23日 没有评论 5,275 次浏览

承接上一篇,如果不仅仅只是需要系统当前连接跟踪的静态信息,而需要及时获取连接跟踪的事件信息,又该怎么做? 有两个示例可以获取Linux系统当前的连接跟踪信息,并在连接跟踪事件发生(例如新建连接,断开连接)时进行及时回调: 这里有一个go语言实现的程序:https://github.com/akashihi/conntrack-logger 在源码包libnetfilter_conntrack-1.0.6的utils目录下也有几个类似的实现: conntrack_events.c、ctexp_events.c、expect_events.c。 以conntrack_events.c为例看看效果: 1,先看看代码: #include... [阅读更多]

Linux下如何在应用层获取连接跟踪信息

2018年1月28日 没有评论 820 次浏览

一,办法1 写个内核模块,吧啦吧啦,这个看上去比较容易,但缺陷是: 1,如果要支持的系统环境比较复杂,比如有Ubuntu、CentOS、Fedora等不同的发行版,各个发行版还有不同的版本如Ubuntu12.04、Ubuntu14.04等,那么维护的工作量非常巨大。 2,内核代码一出错就宕机,风险极大。 二,办法2 采用pcap将数据包抓到应用层,分析数据包来进行连接跟踪,缺陷是包分析的工作量极大,抓包的对系统性能的极大损耗,而且万一有漏包,会导致连接跟踪信息不准确。 因此比较好的方式是直接利用系统自带的接口来获取,而Linux系统的nf_conntrack模块就提供了这个接口: #... [阅读更多]

linux环境下protobuf-c的编译使用

2016年3月12日 2 条评论 21,528 次浏览

1,下载protobuf-c源码,地址在这里: https://github.com/protobuf-c/protobuf-c 我这里下载protobuf-c-1.2.1.tar.gz,解压后在目录里执行:./autogen.sh 可能会报差一些库,对应的安装即可,比如ubuntu上: sudo apt-get install... [阅读更多]

火狐的分代垃圾回收机制

2014年9月25日 没有评论 11,484 次浏览

Mozilla Firefox 32.0.3于近几天发布,在Firefox的javascript引擎SpiderMonkey里启用了一个名为分代垃圾回收机制(Generational garbage collection... [阅读更多]

修改程序加载动态库搜寻路径的三种可行方法

2013年10月16日 没有评论 5,733 次浏览

1,影响整个系统里所有程序的修改 以ubuntu为例,在/etc/ld.so.conf.d目录下新增一个配置文件,名词任意,比如为mylib.conf: lenky@Ubuntu:/etc/ld.so.conf.d$ sudo vi mylib.conf password for lenky:... [阅读更多]

Lighttpd中CGI执行流程

2013年5月11日 没有评论 8,679 次浏览

这是2009年05月20日写在CU的博客上的文章,现在转过来,呵呵。 从下图中,我们可以看到对于客户端的每一个请求(动态页面,也就是需要CGI处理的),Lighttpd进程都是先fork一个CGI进程,然后将请求头(通过环境参数)和请求体(通过管道)传递给CGI程序,等待CGI处理并将从CGI进程那接收到的处理结果再响应给客户端,然后将CGI终止(通过发送SIGTERM信号)。 CGI的处理有一些缺点,先不说其它的,单从图中可以看到的就有:首先,对于客户端的每一个请求都需要fork一个CGI进程,然后在该请求处理结束后又将该CGI进程kill掉,性能自然是不高的。其次,Web... [阅读更多]

Linux线程相关概念

2013年2月6日 没有评论 8,734 次浏览

POSIX Threads,通常简称为Pthreads,它是指开放系统接口标准―POSIX线程,1995年规范的POSIX.1c,即线程扩展标准(IEEE Std... [阅读更多]

分类: *nix技术, 应用程序 标签: ,

Linux glibc源码升级

2013年2月6日 1 条评论 7,513 次浏览

1,准备工作:准备好系统,下载好glibc源代码,确保系统提供的gcc,make等满足glibc的要求(glibc的INSTALL文件内有明确说明)。 # uname -a Linux localhost.localdomain 3.7.0 #1 SMP Wed Jan 9 04:46:12 CST 2013... [阅读更多]

分类: *nix技术, 应用程序 标签: ,