linux daemon 编程方法

Publish: July 30, 2013 Category: C/C++ 8 Comments

一、引言 Daemon程序是一直运行的服务端程序,又称为守护进程。 

    本文介绍了在Linux下编写Daemon程序的步骤,并给出了例子程序。 

二、 Daemon程序简介 Daemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的 用户交互。Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。 

三、Daemon程序编写规则
编写Daemon程序有一些基本的规则,以避免不必要的麻烦。 

    1、首先是程序运行后调用fork,并让父进程退出。子进程获得一个新的进程ID,但继承了父进程的进程组ID。 

    2、调用setsid创建一个新的session,使自己成为新session和新进程组的leader,并使进程没有控制终端(tty)。 

    3、改变当前工作目录至根目录,以免影响可加载文件系统。或者也可以改变到某些特定的目录。 

    4、设置文件创建mask为0,避免创建文件时权限的影响。 

    5、关闭不需要的打开文件描述符。因为Daemon程序在后台执行,不需要于终端交互,通常就关闭STDIN、STDOUT和STDERR。其它根据实际情况处理。 

阅读剩余部分...

Qmail 安装方法

Publish: July 30, 2013 Category: Shell 24 Comments

Install Qmail:
安装Qmail的方法:

阅读剩余部分...

解决切分utf-8字符乱码

Publish: July 26, 2013 Category: C/C++ No Comments

C程序在做字符串取前几个时,如果碰到utf-8的中文字符通常会出现乱码问题,下面函数解决了这个问题:
代码:

阅读剩余部分...

使用openssl读取配置文件方法

Publish: July 26, 2013 Category: C/C++ No Comments

在写C代码的时候通常都需要读取配置文件,像下面那种形式的:

# test.conf
# OpenSSL example configuration file.
oid_section = new_oids
[CA_default]
dir = ./demoCA  # Where everything is kept
certs = $dir/certs  # Where the issued certs are kept
default_days = 6d 

可以看到配置文件中使用了变量'$dir',还需要替换它,我们可以简单的使用openssl里的方法来解决,代码如下:

阅读剩余部分...

乾隆白菜的做法

Publish: July 23, 2013 Category: 美食 1 Comment

乾隆白菜的做法:

1. 把白菜洗净,用手把白菜叶撕成适当大小的块 
2. 调料比例(以芝麻酱为1)芝麻酱:老陈醋:蜂蜜:糖=1:3:3:0.3 搅拌均匀,
   依个人口味放少许盐和味精,说明先用醋把芝麻酱稀释好了以后再放其他作料。
3. 然后将调料放进冰箱冷藏室存放半小时后,和撕好的白菜搅拌均匀即可

小贴士:
1.醋一定是老陈醋
 2.必杀剑:蜂蜜
 3.白菜一定要叶
 4.白菜要手撕
 至于为何这样请看视频:http://www.btv.org/btvindex/sssh/content/2012-06/28/content_5069382.htm