管天管地管一切的systemd
一. 简介
之前使用supervisor管理进程,其实centos本身也提供了这样的管理工具,那就是被称为管天管地管一切的systemd。
Systemd 是linux系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源、服务器进程和其它进程。
这里以添加svnserve.service为例,来介绍下使用方法。
二. svnserve.service
svnserve.service
[Unit]
Description=Subversion Server
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/svnserve -d -r /var/svn/repos
ExecStop=/usr/bin/killall svnserve
Restart=always
[Install]
WantedBy=multi-user.target
参数解释:
[Unit] 服务的说明
Description 描述
After 描述
[Service]
Type=forking 后台运行
ExecStart 服务启动命令,systemctl start
ExecStop 服务停止命令,systemctl stop
ExecReload 服务重启命令,systemctl reload
PIDFile PID文件路径
Restart=always 如果停止了,一直自动重启
[Install]
RequiredBy 被哪些units所依赖,强依赖
WantedBy 被哪些units所依赖,弱依赖
三. 命令
将svnserve.service放到/usr/lib/systemd/system目录下。
常用的命令
启动svnserve
systemctl start svnserve.service
停止svnserve
systemctl stop svnserve.service
重新启动svnserve
systemctl restart svnserve.service
查看svnserve状态
systemctl status svnserve.service
开机启动svnserve
systemctl enable svnserve.service
取消开机启动svnserve
systemctl disable svnserve.service
是否启用svnserve
systemctl is-enabled svnserve.service
不常用的命令
列出所有失败单元
systemctl --failed
列出所有运行中单元
systemctl list-units
四.配置文件目录
主要的配置文件目录
/usr/lib/systemd/system
systemctl enable svnserve.service
执行后,会把配置文件放到
/etc/systemd/system/multi-user.target.wants/
/etc/systemd/system/svnserve.service
五.结尾
systemd被人吐槽管天管地管一切,用力过猛。但是对于新手的我来说,还是挺不错的,提供了一种原生管理进程的途径,赞一个。