在systemd下如何编写我们的守护进程,利用systemd管理我们的守护进程

       前言:在sysv init与upstart方式下,我们编写守护进程的方法可参见我写的其它文章,但思想与方法来源都是那本圣经《unix环境高级编程》,基本思路就是两次fork,调用setsid()脱离终端(如果有的话),标准输出入、标准输出、标准出错重定向等等;

     最近的一些linux distribution开始采用systemd作为sysv init和upstart的替代,如果我们想让自己的程序(服务)被systemd管理,则编写守护进程则要遵循一些systemd下的规则了....


一:systemd简单介绍

        http://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/index.html

二:systemd下编写守护进程遵循的几点规则

        开发人员需要了解 systemd 的更多细节。比如您打算开发一个新的系统服务,就必须了解如何让这个服务能够被 systemd 管理。这需要您注意以下这些要点:

  • 后台服务进程代码不需要执行两次派生来实现后台精灵进程,只需要实现服务本身的主循环即可。(传统编写守护进程要至少调用一次fork,然后停止父进程)
  • 不要调用 setsid(),交给 systemd 处理
  • 不再需要维护 pid 文件。(传统编写守护进程,会自己在某个目录下,生成pid文件,一是记录本守护进程pid,另外一点是防止本守护进程被多次重启而导致出错或者导致多个实例
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值