文档章节

CentOS7.4 使用 systemctl 添加自定义服务

Qin07
 Qin07
发布于 2018/11/06 11:32
字数 1083
阅读 1.2W
收藏 9

一、简介

Centos7.4开机第一个程序从init完全换成了systemd这种启动方式,同centos 5 6已经是实质差别。systemd是靠管理unit的方式来控制开机服务,开机级别等功能。 在/usr/lib/systemd/system目录下包含了各种unit文件,有service后缀的服务unit,有target后缀的开机级别unit等,这里介绍关于service后缀的文件。因为systemd在开机要想执行自启动,都是通过这些*.service 的unit控制的,服务又分为系统服务(system)和用户服务(user)。

系统服务:开机不登陆就能运行的程序(常用于开机自启)。 用户服务:需要登陆以后才能运行的程序。

二、配置文件说明:

[UNIT]
#服务描述
Description=Media wanager Service
#指定了在systemd在执行完那些target之后再启动该服务
After=network.target

[Service]
#定义Service的运行类型,一般是forking(后台运行)   
Type=forking

#定义systemctl start|stop|reload *.service 的执行方法(具体命令需要写绝对路径)
#注:ExecStartPre为启动前执行的命令
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s stop

#创建私有的内存临时空间
PrivateTmp=True

[Install]
#多用户
WantedBy=multi-user.target


[Unit] 区块:启动顺序与依赖关系

Description字段:给出当前服务的简单描述。
Documentation 字段:给出文档位置。
After 字段:如果network.target或sshd-keygen.service需要启动,那么sshd.service应该在它们之后启动。
Before字段:定义sshd.service应该在哪些服务之前启动。
注:After和Before字段只涉及启动顺序,不涉及依赖关系。

[Service] 区块:启动行为

启动命令
Type=forking是后台运行的形式

ExecStart字段:定义启动进程时执行的命令
ExecReload字段:重启服务时执行的命令
ExecStop字段:停止服务时执行的命令

ExecStartPre字段:启动服务之前执行的命令
ExecStartPost字段:启动服务之后执行的命令
ExecStopPost字段:停止服务之后执行的命令

#注:所有的启动设置之前,都可以加上一个连词号(-),表示"抑制错误",即发生错误的时候,不影响其他命令的执行。比如EnvironmentFile=-/etc/sysconfig/sshd(注意等号后面的那个连词号),就表示即使/etc/sysconfig/sshd文件不存在,也不会抛出错误。
#注意:[Service]中的启动、重启、停止命令全部要求使用绝对路径!

启动类型
Type字段定义启动类型。它可以设置的值如下:
	simple(默认值):ExecStart字段启动的进程为主进程
	forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程(后台运行)
	oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
	dbus:类似于simple,但会等待 D-Bus 信号后启动
	notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
	idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合


PrivateTmp=True表示给服务分配独立的临时空间


[Install] 服务安装的相关设置,可设置为多用户



[Install] 区块
Install 区块,定义如何安装这个配置文件,即怎样做到开机启动。
WantedBy字段:表示该服务所在的 Target。
Target的含义是服务组,表示一组服务。
WantedBy=multi-user.target指的是:sshd 所在的 Target 是multi-user.target。

#这个设置非常重要,因为执行systemctl enable sshd.service命令时,sshd.service的一个符号链接,就会放在/etc/systemd/system目录下面的multi-user.target.wants子目录之中。
Systemd 有默认的启动 Target。

重载系统服务:systemctl daemon-reload 
设置开机启动:systemctl enable *.service 
启动服务:systemctl start *.service 
停止服务:systemctl stop *.service 
重启服务:systemctl reload *.service

© 著作权归作者所有

Qin07
粉丝 1
博文 21
码字总数 7039
作品 0
成都
私信 提问
加载中

评论(0)

kvm制作Centos7.4镜像

公司的云平台需要自己来制作镜像,那么我们接下来就制作Centos7.4的镜像。 下载kvm的软件包 [root@localhost ~]# yum install qemu-kvm* libvirt* virt* -y 开启libvirtd 服务 在开启服务前需...

Zai坚强一点
2018/06/28
0
0
时间同步软件chrony安装配置

1.1.1 chrony服务搭建 1.1.1.1 基本环境 1.1.1.2 服务端配置 # yum -y install chrony # vim /etc/chrony.conf 3 #server 0.centos.pool.ntp.org iburst 4 #server 1.centos.pool.ntp.org ib......

茁壮的小草
2018/07/02
0
0
【三】Centos7.4 安装Docker

安装Docker 输入 uname -r 确认内核版本,据说内核版本必须高于3.10才可以 【uname -r】 获取依赖包与软件包 【yum -y install docker-io】 打开如下文件,添加阿里云镜像加速 【vi /etc/doc...

胶囊仔
2018/10/09
0
0
基于Samba和NFS简单实现Mariadb服务示例

一、使用NFS服务实现远程数据库存储 NFS服务需要使用nfs-utils程序,所以首先要安装该程序包;(yum install -y nfs-utils) 此处我以两台分别为Centos6.9和Centos7.4的虚拟机实现该实验过程;...

sherlockR
2018/05/17
0
0
CentOS7.4 搭建ngrok 内网穿透

1、安装git 2、安装GO语言环境 3、下载ngrok 4、生成证书 5、 拷贝证书覆盖ngrok原来的证书 编译生成服务端 编译生成客户端 启动服务器端 客户端配置文件ngrok.yml 本地启动客户端 ngrok 加入...

YunOu
2018/11/09
2.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

郑州哪哪里可以开工程款发票-郑州_新闻网

【电薇同步;1.3.8 - 2.7.4.1 - 5.2.9.7.】张生、诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Android手机通用...

yyqqvip
46分钟前
30
0
Nginx 反向代理访问

在Nginx 配置 server { listen 80; server_name www.xiaocx.org www.xiaocx.org www.xiaocx.org; root /Users/maison/work/xiaocx/dist; index i......

韩庚庚
50分钟前
33
0
python笔记:环境变量已设置CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件

这些天虽然也写了几个小工具,但是打包都是在anaconda prompt中完成的,因为CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件,各种查度,千篇一律的是环境变量配置的问题...

小玲_001
52分钟前
13
0
AI+BI服务模式

术语与缩写解释 缩写、术语 解 释 BI 商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析...

zoegu228
53分钟前
22
0
leetcode1227(面试题 17.09. 第 k 个数)--C语言实现

求: 有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。 示例 1:...

拓拔北海
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部