rhel7下守护进程如此简单

2015年9月16日 发表评论 阅读评论

一、systemd实现进程守护

rhel7/centos7 、SUSE12等主流版本都使用systemd,这里结合systemd的一个功能,了解下其优势。比如我们经常部署的业务守护进程,在systemd里,其自身就已经实现了该功能,只需要把参数加下就OK了。这里以vsftpd为例。如何保证其在异常的时候自动进行拉起。打开/usr/lib/systemd/system/vsftpd.service 文件或 /etc/systemd/system/multi-user.target.wants/vsftpd.service 文件,在[Service] 项增加如下内容:

Restart=always
RestartSec=10s

Restart=always 项就是进行守护,使用always参数的意思是在该进程非常正常退出或被kill等情况下会主动进行重启;

RestartSec=10s 项表示重启前等待10妙,默认是100毫秒,加这个值的原因是一些进程启的会比较慢,避免还未启动,系统重复启动。

效果见下图:

systemd-always

等了10秒,被kill的进程自动拉起了。

二、其他

systemd服务的可配置项比较多,比如:

ExecStartPre 是启动服务之前执行的命令,
ExecStartPost 是启动服务之后执行的命令

使用systemd.timer实现类似于crontab的功能等。

更多用法,可以去redhat或SUSE官方查看文档,或者查看国内金步国译的 systemd.service 中文手册 。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.