linux下daemon进程模板

    平时经常性会需要写一些daemon服务,于是就写了一个简单的脚本,利用模板文件,可以自动生成一个简单的daemon进程,包括源文件和makefile,启停脚本,只需要直接添上业务逻辑即可。使用方式:./generate_daemon.sh <app name>。

    工具的下载地址在这里: http://download.csdn.net/source/3242136

    执行./generate_daemon.sh test,生成的目录结构如下,包括src,bin和etc目录和一个Makefile。

   

 

    下面简单介绍一下生成的代码,大概有几点说明一下:

(1)daemon进程的上下文数据结构中,包括自己的pid,以及pid文件的path;另外有一个stop标志来控制进程的起停;

(2)每一个daemon进程都应该有自己的id号。编译之后的启停方式,应该类似这样:

    ./test --id=192.0.0.1 --daemon start

    ./test --id=192.0.0.1 stop

(2)version参数可以看到版本号,这里也就是编译的时间;help可以显示使用说明。

(3)进程第一次启动时,会将自己的pid写入一个文件,目前这个文件在tmp目录下,为进程名字+id号,写完之后会加锁。在stop进程时,会去读这个文件,并到/proc/pid目录下验证进程名字;如果start进程时,发现这个pid文件已经存在,会提示错误。-->如果想起多个进程,必须用不同的id来控制;

(4)stop进程,是用发送kill信号的方式来实现的,目前捕捉的信号包括SIGINT,SIGUSR1,SIGKILL,SIGQUIT;

(5)正常情况下,进程将死循环执行process函数,加上需要的业务逻辑即可。

(6)生成一个test进程,make之后启动脚本,可以看到进程正常运行ing:

 

    最后把部分代码贴出来:

 

       

   

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值