wangbin
  • wangbin
  • 2018-08-05
  • IT

管天管地管一切的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被人吐槽管天管地管一切,用力过猛。但是对于新手的我来说,还是挺不错的,提供了一种原生管理进程的途径,赞一个。