Linux中systemctl 服务管理

news2024/11/30 5:57:51

1、概述

CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在目录 /usr/lib/systemd/system里。Systend的新特性:

  • 系统引导时实现服务的并行启动;

  • 按需激活进程;

  • 系统实现快照;

  • 基于依赖关系定义服务的控制逻辑;

systemctl可用于内省和控制“systemd”系统和服务管理器的状态。centos7.x系统环境下我们经常使用此命令启停服务,实际上此命令除了其他独立服务还有很多其他用途。

2、systemctl参数说明

基本语法:systemctl start | stop | restart | status | reload 服务名
systemctl 指令管理的服务在 /usr/lib/systemd/system
查看服务的方法:pwd /usr/lib/systemd/system

2.1、使用语法

用法:systemctl [OPTIONS…] {COMMAND} …

2.2、参数说明

参数

参数说明

start

立刻启动后面接的unit

stop

立刻关闭后面接的unit

restart

立刻关闭后启动后面接的unit,亦即执行stop再start的意思

reload

不关闭后面接的unit的情况下,重载配置文件,让设定生效

enable

设定下次开机时,后面接的unit会被启动

disable

设定下次开机时,后面接的unit 不会被启动

status

目前后面接的这个unit 的状态,会列出是否正在执行、是否开机启动等信息。

is-active

目前有没有正在运行中

is-enable

开机时有没有预设要启用这个unit

kill

不要被kill这个名字吓着了,它其实是向运行unit的进程发送信号

show

列出unit的配置。

mask

注销unit,注销后你就无法启动这个unit了

unmask

取消对unit的注销

list-units

依据unit列出目前有启动的unit。若加上–all才会列出没启动的。(等价于无参数)

list-unit-files

列出所有以安装unit以及他们的开机启动状态(enabled、disabled、static、mask)。

–type=TYPE

就是unit type,主要有service,socket,target等

get-default

取得目前的 target

set-default

设定后面接的 target 成为默认的操作模式

isolate

切换到后面接的模式

2.3、unit file结构

文件通常由三部分组成:

  • Unit: 定义与Unit类型无关的通用选项;用于提供unit的描述信息,unit行为及依赖关系等。

  • Service:与特定类型相关的专用选项;此处为Service类型。

  • Install:定义由"systemctl enable"及"systemctl disable"命令在实现服务启用或禁用时用到的一些选项。

2.4、Unit段的常用选项

  • Description:描述信息,意义性描述;

  • After:定义unit的启动次序;表示当前unit应晚于哪些unit启动;其功能与Before相反;

  • Requies:依赖到其它的units;强依赖,被依赖的units无法激活时,当前的unit即无法激活;

  • Wants:依赖到其它的units;弱依赖;

  • Confilcts:定义units 的冲突关系;

2.5、Service段的常用选项

  • Type:用于定义影响ExecStart及相关参数的功能的unit进程类型; 类型有:simple、forking、oneshot、dbus、notify、idle。

  • EnvironmentFile:环境配置文件;

  • ExecStart:指明启动unit要运行的命令或脚本;ExecStart, ExecStartPost

  • ExecStop:指明停止unit要运行的命令或脚本;

  • Restart:

2.6、Install段的常用配置

  • Alias:

  • RequiredBy:被哪些unit所依赖;

  • WantBy:被哪些unit所依赖;

2.7、Unit文件样例

[root@liuchao ~]# cd /usr/lib/systemd/system
[root@liuchao system]# cat chronyd.service
[Unit]
Description=NTP client/server
Documentation=man:chronyd(8) man:chrony.conf(5)
After=ntpdate.service sntp.service ntpd.service
Conflicts=ntpd.service systemd-timesyncd.service
ConditionCapability=CAP_SYS_TIME

[Service]
Type=forking
PIDFile=/var/run/chronyd.pid
EnvironmentFile=-/etc/sysconfig/chronyd
ExecStart=/usr/sbin/chronyd $OPTIONS
ExecStartPost=/usr/libexec/chrony-helper update-daemon
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full

[Install]
WantedBy=multi-user.target
[root@liuchao system]#

3、systemctl使用示例

3.1、查看开机启动列表

 systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤)
[root@localhost ~]# systemctl list-unit-files
[root@localhost ~]# systemctl list-unit-files | grep firewalld
firewalld.service                             disabled

#查看已启动的服务列表
systemctl list-unit-files|grep enabled
#
显示所有已启动的服务
systemctl list-units --type=service
可以 写一半再查看完整的服务名,一般也可以简写:firewalld.service = firewall

3.2、设置开机启动

systemctl在enable、disable、mask子命令里面增加了–now选项,可以激活同时启动服务,激活同时停止服务等。
# 设置开机启动并现在启动
## 相当于同时执行了systemctl start 服务名
systemctl enable --now firewalld

# 查看服务启动状态
root@localhost ~]# systemctl status firewalld

3.3、取消开机启动

# 取消开机启动并现在就停止服务
systemctl disable --now firewalld
## 查看服务状态是否停止
[root@localhost ~]# systemctl status firewalld
# 查看启动列表
[root@localhost ~]# systemctl list-unit-files |grep firewalld
firewalld.service                             disabled

3.4、开启服务

systemctl start firewall

3.5、关闭服务(但是下次开机还是会启动)

systemctl stop firewall

关闭防火墙:

3.6、重启服务

systemctl restart 服务名

3.7、重新加载配置

systemctl reload 服务名

3.8、输出服务运行的状态

systemctl status 服务名
systemctl status firewalld

查看防火墙的状态,现在是运行中:

3.9、检查service是否在启动状态

# systemctl is-active 服务名
systemctl is-active NetworkManager
# active

3.10、检测unit单元是否为自动启动

# systemctl is-enabled 服务名
systemctl is-enabled firewalld
# enabled

3.11、注销一个服务(service)

systemctl mask 是注销服务的意思。 注销服务意味着: 该服务在系统重启的时候不会启动 该服务无法进行做systemctl start/stop操作 该服务无法进行systemctl enable/disable操作
systemctl mask firewalld

3.12、取消注销服务(service)

systemctl unmask firewalld

3.13、显示单元的手册页(前提是由unit提供)

systemctl help

3.14、重新加载所有修改过的配置文件

当新增或修改service单元文件时,需要系统重新加载所有修改过的配置文件

systemctl daemon-reload

3.15、查看systemd资源使用率

systemd-cgtop

3.16、杀死服务

[root@s153 system]# systemctl kill xinetd
[root@s153 system]# systemctl is-failed xinetd
inactive

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/344514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手写JavaScript常见5种设计模式

想分享的几种设计模式 目前模式:工厂模式,单例模式,适配器模式,装饰者模式,建造者模式 建造者模式 简介:建造者模式(builder pattern)比较简单,它属于创建型模式的一种…

QT入门Input Widgets之QScrollBar

目录 一、界面布局功能 1、界面位置介绍 2、控件界面基本属性 2.1 horizontalScrollBar界面属性 3、样式设置 此文为作者原创,创作不易,转载请标明出处! 一、界面布局功能 1、界面位置介绍 QScrollBar主要分为两种,一种垂直…

C语言(字符串输入)

目录 一.gets和puts组合 二.fgets()和fputs() 三.fgets()函数返回 四.fgets读取满问题 五.修改fgets函数,自动用\0替换\n 一.gets和puts组合 Gets()读取整行输入,知道遇到换行符,然后丢弃换行符,存储其余字符,并在这些字符的…

学习笔记:文件

因为有的数据,数据量极大。或者是你想把编译输出的内容存储起来,就可以使用文件 读文件中内容具体操作 来自C语言详解 FILE文件操作 - 知乎 (zhihu.com) 写入文件具体操作 同样来自 C语言详解 FILE文件操作 - 知乎 (zhihu.com) 当文件关闭时&#xff0c…

sql手工注入dvwa靶场

sql手工注入dvwa靶场 记录一下自己重新开始学习web安全之路④。 一、找交互点(url、搜索框、登录框) 在dvwa靶场中,发现有url,有搜索框。 二、找注入点(通过 ’ 号来判断) 思考一:为什么能通…

响应式圣经:10W字,实现Spring响应式编程自由

前言 全链路异步化改造的基础是响应式编程 随着业务的发展,微服务应用的流量越来越大,使用到的资源也越来越多。 在微服务架构下,大量的应用都是 SpringCloud 分布式架构,这种架构总体上是全链路同步模式。 全链路同步模式不仅…

膳食锌缺乏或过量对人体肠道菌群及健康的影响

谷禾健康 锌与肠道微生物 锌(Zn)是人体必需的微量元素,是人体中第二丰富的矿物质。锌在细胞和器官功能中起着关键的催化、调节和结构作用。 ★ 膳食锌缺乏或过量均不健康 锌缺乏与发育不良、免疫功能低下、味觉丧失、不良妊娠结局、脱发、皮肤损伤和神经行为异常有关…

数据结构 | 树 | 二叉树

🔥Go for it!🔥 📝个人主页:按键难防 📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀 📖系列专栏:数据结构与算法 &#x1f52…

windows本地开发Spark[不开虚拟机]

1. windows本地安装hadoop hadoop 官网下载 hadoop2.9.1版本 1.1 解压缩至C:\XX\XX\hadoop-2.9.1 1.2 下载动态链接库和工具库 1.3 将文件winutils.exe放在目录C:\XX\XX\hadoop-2.9.1\bin下 1.4 将文件hadoop.dll放在目录C:\XX\XX\hadoop-2.9.1\bin下 1.5 将文件hadoop.dl…

Redis学习【5】之集合的底层实现原理

文章目录一 集合的底层实现原理1.1 两种实现的选择1.2 zipList【存在于Redis7.0之前的版本】1.3 listPack【Redis7.0中zipList的改进版】1.4 skipList1.4.1 skipList 原理1.4.2 skipList存在的问题与优化1.5 quickList1.5.1 quitList检索操作1.5.2 quitList插入操作1.5.3 quitL…

知识图谱概述

知识图谱 知识图谱本质上是一种大规模的语义网络,富含实体、概念及其之间的各种语义关系。 作为一种语义网络是大数据时代知识表示的重要方式之一。 作为一种技术体系,是大数据时代知识工程代表性进展。 领域知识图谱 领 域(行业&#xf…

一篇文章带你熟练使用Ansible中的playbook

目录 一、Playbook的功能 二、YAML 1、简介 2、特点 3、语法简介 4、YAML 列表 5、YAML的字典 三、playbook执行命令 四、 Playbook的核心组件 五、vim 设定技巧 练习 一、Playbook的功能 playbook 是由一个或多个play组成的列表 Playboot 文件使用YAML来写的 二、…

Mysql5.7安装【Windows版】

文章目录一、下载二、添加到环境变量三、添加配置文件my.ini四、安装Mysql 修改密码一、下载 下载地址 滑倒最下面有一个MySQL Community Server 选择要下载的版本 二、添加到环境变量 下载好了之后开始解压 把bin目录添加到环境变量 可以点击进入bin目录,直接复…

低代码平台真的是企业的福音吗?

研究低代码平台已有3年,也算是个低代码资深用户了,下面基于个人理解给大家做一份2k字的深入介绍!希望对大家在低代码方面有一定帮助。 开篇,先带大家来看企业为什么要布局低代码平台!究竟有何优势? &…

认识钉钉小程序_搭建一个简单的小程序---钉钉小程序开发教程001

其实这里面开发的时候具体,应该有很多的坑,不过..因为暂时不需要具体做,我仅仅查了一下怎么做,记录一下,以后不用再查了. 感觉钉钉小程序开发比微信小程序开发要更便捷,简单一些.首先要注册一个开发者,其实登录上钉钉账号就可以了.然后可以看看,快速入门,我没看 然后下载开发工…

Java基础之多线程JUC全面学习笔记

目录初识多线程多线程的实现方式常见的成员方法线程安全的问题死锁生产者和消费者线程池自定义线程池初识多线程 什么是多线程? 线程 线程是操作系统能够进行运算调度的最小单位。线程被包含在进程之中,是进程中的实际运作单位。 简单理解:应用软件中互相独立&…

为什么西门子、美的等企业这样进行架构升级,看看改造效果就知道了

在工业领域, 生产、测试、运行阶段都可能会产生大量带有时间戳的传感器数据,这都属于典型的时序数据。时序数据主要由各类型实时监测、检查与分析设备所采集或产生,涉及制造、电力、化工、工程作业等多个行业,具备写多读少、量非常…

从端到端打通模型端侧部署流程(NCNN)

文章目录背景介绍:为什么要做端侧推理:端侧深度学习部署流程:一条主要技术路线:ONNX:NCNN框架:NCNN的官方介绍:NCNN问题解决:NCNN使用样例快速在NCNN框架下验证自己的模型&#xff1…

数据分析思维(六)|循环/闭环思维

循环/闭环思维 1、概念 在很多的分析场景下,我们需要按照一套流程反复分析,而不是进行一次性的分析,也就是说这套流程的结果会成为该流程的新一次输入,从而形成一个闭环,此时的分析思维我们称之为循环/闭环思维。 常…

计算机断层扫描结肠镜和全自动骨密度仪在一次检查中的可行性

计算机断层扫描结肠镜和全自动骨密度仪在一次检查中的可行性 Feasibility of Simultaneous Computed Tomographic Colonography and Fully Automated Bone Mineral Densitometry in a Single Examination 简单总结: 数据:患者的结肠镜检查和腹部CT检查…