首页 › 月度存档 › 七月 2014

守护进程的设计与实现

守护进程是Linux中的后台服务进程,一般都是在后台运行的,它的生存期比较长。一般都是系统自举时启动,系统关闭时终止。

在Linux中,有一个系统与用户交互的界面,成为终端,很多进程的启动和停止都与终端有很大的关系,一般我们在Linux下编写的代码都是在终端下执行或者停止的,但是守护进程突破了这种限制,它从被执行的时候开始运转,直到系统关闭时才结束,用这种方法,可以为我们的系统提供多种服务,所以是十分重要的。

继续阅读 »

使用mysqldump 把GBK编码的数据库转换成UTF8存储

    打算把一个数据库编码为 utf8 的数据库,转换成gbk 来存储。以目前mysql的版本,先做一个转换测试..在数据很大量的情况下,我认为很有必要呵呵。 记下来备忘了。
继续阅读 »

在一个gdb中同时调试parent与child进程

(gdb) set follow-fork-mode parent/child //设置当fork时直接进入parent还是child调试, 默认为parent

(gdb) set detach-on-fork on/off //设置当fork后, 没有直接进入的进程是attach还是detach, on时将detach, 即不挂其他起程, 默认值为on
  //off: 则fork后的两个进程都要被attach
假入现在进入了child进程
(gdb) info inferiors
  Num  Description       Executable
* 2    process 2550      /home/alex/work/test/test_emacs_gdb_fork
  1    process 2546      /home/alex/work/test/test_emacs_gdb_fork
*指定当前正在调试的进程
(gdb)inferior 2  //inferior inferior_num 将调试控制进入2546进程(父进程)

linux 打造man中文帮助手册图解(man-pages-zh帮助页)

刚学习linux有一份中文帮助手册该是多好事情。linux自带的帮助尽管有多种语言,目前各种发行版的linux基本没有中文帮助手册。打造个 适合自己中文手册还是很有意义的。配置过程其实比较简单,只需要知道中文包,然后放到man可以搜索到的目录中,基本就可以了。

继续阅读 »

indent常用参数

我目前使用的格式是

indent -npro -gnu -i4 -ts4 -sob -l200 -ss -bl -bli 0 -npsl filename
indent -npro -kr -i4 -ts4 -sob -l200 -ss -nce filename

继续阅读 »

Linux中整理代码工具indent的使用

indent 是一个比较不错的整理工具,即使你写了一段于内核代码风格好不相同的代码,那也没关系,用indent工具就能解决你的问题,帮你整理你的代码。indent几乎在所有的Linux发行版中几乎都可以找到。或者自己安装(ubuntu中:sudo apt-get install indent)。

继续阅读 »

网络服务端客户端编程步骤(TCP/UDP)

TCP编程的服务器端一般步骤是:

继续阅读 »

用C语言自己编写一个more程序

这是自己用C语言编写的一个more程序,主要用到了终端控制和C语言的控制符功能,源代码如下:

继续阅读 »

用C语言自己编写一个ls程序

用C语言自己编写一个ls程序

继续阅读 »

HTTP协议的C语言编程实现实例

大家都很熟悉HTTP协议的应用,因为每天都在网络上浏览着不少东西,也都知道是HTTP协议是相当简单的。每次用到FlashGet之类的下载软件下载网页,当用到那个“用FlashGet下载全部链接”时总觉得很神奇。
后 来想想,其实要实现这些下载功能也并不难,只要按照HTTP协议发送request,然后对接收到的数据进行分析,如果页面上还有href之类的链接指向 标志就可以进行深一层的下载了。HTTP协议目前用的最多的是1.1版本,要全面透彻地搞懂它就参考RFC2616文档吧。
下面是我用C语言编程写的一个http下载程序,希望对大家有些启发。

继续阅读 »