rhel7下守护进程如此简单
一、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毫秒,加这个值的原因是一些进程启的会比较慢,避免还未启动,系统重复启动。
效果见下图:
等了10秒,被kill的进程自动拉起了。
二、其他
systemd服务的可配置项比较多,比如:
ExecStartPre 是启动服务之前执行的命令,
ExecStartPost 是启动服务之后执行的命令
使用systemd.timer实现类似于crontab的功能等。
更多用法,可以去redhat或SUSE官方查看文档,或者查看国内金步国译的 systemd.service 中文手册 。
本站的发展离不开您的资助,金额随意,欢迎来赏!
You can donate through PayPal.My paypal id: itybku@139.comPaypal page: https://www.paypal.me/361way
You can donate through PayPal.My paypal id: itybku@139.comPaypal page: https://www.paypal.me/361way
近期评论