python 封装调用_使用python封装sd_notify到systemd

我们知道Centos7之后搁浅Sysvinit,改用复杂功能又及其强大,又特别惹人烦恼的systemd. 这个名字取得很大气,直接用system + d . Sysvint从unix时期就已经早早的存在了,在各大国外的社区都很不少大牛针对init 和 systemd进行讨论,目前来看支持Sysvinit的人多点。

周边人对于systemd的看法. 有意思的是,我周边的开发人员都觉得无所谓,看了systemd的高级功能更是蠢蠢欲动。也确实systemd的功能对比init来说,复杂强大的多,比如并行化,unit, target ,socket , timer等等。 我以前的运维朋友,包括bat那帮人都不喜欢systemd,为什么? 又要学一个新东西,madan的。 咱们也不说什么高端的说法,不说systemd不符合unix的设计哲学,不符合简单美。 我个人也讨厌新东西,虽然他的新功能很是吸引人。

该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新. http://xiaorui.cc/?p=3462

前面虽然说的很直爽,但现实中因为各种各样的环境会导致你去用systemd。 不是因为systemd而去用centos7 ,而是因为centos7用systemd。 跟朋友一起开发一个开源的OpenApi,这与做什么这里先不说,保密。 这哥们蛋疼的想做一个systemd sd_notify的外部支持,用golang扩展一个模块。 文章的后面会告诉你,实现代码是怎么个简单粗暴。

systemd sd_notify是什么? 传统的服务化进程管理,我们只是能知道他活着,他挂了. sd_notify可以做到一个运行程序跟systemd交互通信。 我主动告诉systemd我现在的状态,不仅仅是让systemd通过event pid粗浅的认为我的状态。 另外sd_notify也是可以发出类似进度的指令。

这里说下使用systemd遇到的问题:

其实官方文档有说明 。 READY 只是有1 , 一开始是stackoverload看了个sd_notify的说明有 0 2的值。 后来….

systemd是不会给程序传递信号,让他去reload,只能是你自己加信号解决。

不要轻易让systemd把自己标注为ERROR的状态,原本只是想做个提示,结果发现systemd把你给干掉了。

watchdog还是有点意思的,你可以申请一个watchdog dev设备,去定期喂数据,保持这个keep alive,他会改变定时器时间。

更加详细的syste

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值