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] 项增加如下内容:
1Restart=always
2RestartSec=10s
Restart=always 项就是进行守护,使用always参数的意思是在该进程非常正常退出或被kill等情况下会主动进行重启;
RestartSec=10s 项表示重启前等待10妙,默认是100毫秒,加这个值的原因是一些进程启的会比较慢,避免还未启动,系统重复启动。
效果见下图:
等了10秒,被kill的进程自动拉起了。
二、其他
systemd服务的可配置项比较多,比如:
- ExecStartPre 是启动服务之前执行的命令,
- ExecStartPost 是启动服务之后执行的命令
使用systemd.timer实现类似于crontab的功能等。
更多用法,可以去redhat或SUSE官方查看文档,或者查看国内金步国译的 systemd.service 中文手册 。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/systemd-deamon/6227.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.