Liniux systemctl

systemctl 命令

systemctl命令控制:启动、停止、开机自启能够被syatemctl管理的软件,一般也称之为服务

语法:systemctl start | stop| status |enable |disable 服务名

(启动/停止/查看状态/开启开机自启/关闭开机自启)

NetworkManager 主网络服务

network 副网络

firewalld 防火墙

sshd,ssh服务(Xshell远程都玩Linux使用的就是这个服务)

# systemctl list-units --type=service --state=running 查看当前正在运行中的服务
root@hcss-ecs-c2b8:~# systemctl list-units --type=service --state=runningUNIT                             LOAD   ACTIVE SUB     DESCRIPTION                                   atd.service                      loaded active running Deferred execution schedulerchrony.service                   loaded active running chrony, an NTP client/servercloudResetPwdUpdateAgent.service loaded active running cloudResetPwdUpdateAgentcontainerd.service               loaded active running containerd container runtimecron.service                     loaded active running Regular background program processing daemondbus.service                     loaded active running D-Bus System Message Busdocker.service                   loaded active running Docker Application Container Enginefwupd.service                    loaded active running Firmware update daemongetty@tty1.service               loaded active running Getty on tty1irqbalance.service               loaded active running irqbalance daemonModemManager.service             loaded active running Modem Managermultipathd.service               loaded active running Device-Mapper Multipath Device Controllermysqld.service                   loaded active running LSB: start and stop MySQLNetworkManager.service           loaded active running Network Managernginx.service                    loaded active running nginx - high performance web serverpackagekit.service               loaded active running PackageKit Daemonpolkit.service                   loaded active running Authorization Managerrsyslog.service                  loaded active running System Logging Serviceserial-getty@ttyS0.service       loaded active running Serial Getty on ttyS0snapd.service                    loaded active running Snap Daemonssh.service                      loaded active running OpenBSD Secure Shell serversystemd-journald.service         loaded active running Journal Servicesystemd-logind.service           loaded active running User Login Managementsystemd-resolved.service         loaded active running Network Name Resolutionsystemd-udevd.service            loaded active running Rule-based Manager for Device Events and Filesudisks2.service                  loaded active running Disk Managerunattended-upgrades.service      loaded active running Unattended Upgrades Shutdownuniagent.service                 loaded active running Unified Agentupower.service                   loaded active running Daemon for power managementuser@0.service                   loaded active running User Manager for UID 0uuidd.service                    loaded active running Daemon for generating UUIDswpa_supplicant.service           loaded active running WPA supplicantLOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
32 loaded units listed.

这里我在服务器上安装了一个mysql数据,mysql数据库安装完成后他会自己注册为系统的一个服务,这样我们能直接通过systemctl命令对mysql的状态进行管理

# 先查看服务列表是否有mysql的相关服务
root@hcss-ecs-c2b8:~# systemctl list-units --type=service | grep mysqlmysqld.service                     loaded active running LSB: start and stop MySQL
# systemctl status mysql 查看mysql的状态
root@hcss-ecs-c2b8:~# systemctl status mysql
● mysqld.service - LSB: start and stop MySQLLoaded: loaded (/etc/init.d/mysqld; generated)Active: active (running) since Sat 2024-09-28 10:12:41 CST; 1min 53s agoDocs: man:systemd-sysv-generator(8)Process: 96068 ExecStart=/etc/init.d/mysqld start (code=exited, status=0/SUCCESS)Tasks: 34 (limit: 2006)Memory: 362.1MCPU: 1.198sCGroup: /system.slice/mysqld.service├─96081 /bin/sh /www/server/mysql/bin/mysqld_safe --datadir=/www/server/data --pid-file=/www/server/data/hcss-ecs-c2b8.pid└─96706 /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/data --plugin-dir=/www/server/mysql/lib/plugin ->Sep 28 10:12:40 hcss-ecs-c2b8 systemd[1]: Starting LSB: start and stop MySQL...
Sep 28 10:12:41 hcss-ecs-c2b8 mysqld[96068]: Starting MySQL. *
Sep 28 10:12:41 hcss-ecs-c2b8 systemd[1]: Started LSB: start and stop MySQL.
lines 1-15/15 (END)

现在我们去吧运行中的mysqld服务停止掉,并查看其状态

root@hcss-ecs-c2b8:~# systemctl stop mysqld
root@hcss-ecs-c2b8:~# systemctl status mysqld
○ mysqld.service - LSB: start and stop MySQLLoaded: loaded (/etc/init.d/mysqld; generated)Active: inactive (dead) #这由原来的running 变成了 deadDocs: man:systemd-sysv-generator(8)

对于这种服务,我们希望他永远不要停止,就算是服务器重启,我们也希望他能在服务器重启后也能自己启动,这是我们就需要用enable和disable这个命令来关闭和开启服务的开机自启

root@hcss-ecs-c2b8:~# systemctl enable mysqld
# 这里提示的很清楚,我们这个mysqld不是本地服务所以需要使用重定向到systemd-sysv-install这里去开启
# 我们直接复制下面这个executing:后面的命令就好了,本地服务就能直接成功,disable命令也是这样的
mysqld.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mysqld
root@hcss-ecs-c2b8:~# /lib/systemd/systemd-sysv-install enable mysqld
root@hcss-ecs-c2b8:~# systemctl disable mysqld
mysqld.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable mysqld
root@hcss-ecs-c2b8:~# /lib/systemd/systemd-sysv-install disable mysqld

这里我们重启一下无服务器,立马查看服务状态就能知道他是否开机自启

目前介绍了本地服务和第三方服务的状态和开机自启管理

这里我们来实现以下,如何让我们自己编写的脚本开机自启

首先我们编写一个测试脚本

[Unit]Description=Run a Custom Script at Startup[Service]ExecStart=/var/test/auto_start.sh
ExecStop=/var/test/auto_start.sh[Install]WantedBy=multi-user.target                        

在上面的配置文件中,为了演示起见,我将一些本测试脚本不需要但是比较重要的配置项也写了出来,其实如果不需要可以删除,但是[Unit]/[Service]/[Install]这三个标签需要保留。
我们来一个个简单介绍一下配置项:

Description:运行软件描述
Documentation:软件的文档
After:因为软件的启动通常依赖于其他软件,这里是指定在哪个服务被启动之后再启动,设置优先级
Wants:弱依赖于某个服务,目标服务的运行状态可以影响到本软件但不会决定本软件运行状态
Requires:强依赖某个服务,目标服务的状态可以决定本软件运行。
ExecStart:执行命令
ExecStop:停止执行命令
ExecReload:重启时的命令
Type:软件运行方式,默认为simple
WantedBy:这里相当于设置软件,选择运行在linux的哪个运行级别,只是在systemd中不在有运行级别概念,但是这里权当这么理解。 

如果有多项,用逗号作为分隔。

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

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

相关文章

Codeforces Round 975 (Div. 2)

传送门:https://codeforces.com/contest/2019 B. All Pairs Segments 题意: 首先样例解释一下: 一共有:[1,2],[1,3],[1,5],[1,6],[1,7],[2,3],[2,5],[2,6],[2,7],[3,5],[3,6],[3,7],[5,6],[5,7],[6,7] 点 1,7 在5个…

Mac电脑上最简单安装Python的方式

背景 最近换了一台新的 MacBook Air 电脑,所有的开发软件都没有了,需要重新配环境,而我现在最常用的开发程序就是Python。这篇文章记录一下我新Mac电脑安装Python的全过程,也给大家一些思路上的提醒。 以下是我新电脑的配置&…

Django项目配置日志

需求 在Django项目中实现控制台输出到日志文件,并且设置固定的大小以及当超过指定大小后覆盖最早的信息。 系统日志 使用Django自带的配置,可以自动记录Django的系统日志。 可以使用logging模块来配置。下面是一个完整的示例代码,展示了如…

Spring Boot 入门

Spring Boot 是基于 Spring 框架的简化开发框架,旨在通过减少配置工作,使开发人员可以快速上手构建 Java 应用。它提供了许多开箱即用的特性,例如嵌入式服务器、自动配置和约定优于配置等,极大地提升了开发效率。 以下是 Spring …

Java中通过方法上注解实现入参校验

设计思路 要通过注解实现对方法参数的校验,我们将利用Java的反射机制以及Spring AOP(面向切面编程)来实现。这种设计使得参数校验与业务逻辑解耦,提高了代码的可读性和可维护性。 1. 需求分析 自动化校验:不希望在每…

xxl-job 适配达梦数据库

前言 在数字化转型的浪潮中,任务调度成为了后端服务不可或缺的一部分。XXL-JOB 是一个轻量级、分布式的任务调度框架,广泛应用于各种业务场景。达梦数据库(DM),作为一款国内领先的数据库产品,已经被越来越…

【笔记篇】Davinci Configurator OS模块(上)

目录 1 简介1.1 架构概览2 功能描述2.1 特性2.2 规范偏离2.2.1 API 函数的泛型偏离2.2.2 可信函数 API 偏离2.2.3 服务保护偏离2.2.4 代码保护2.2.5 SyncScheduleTable API 偏差2.2.6 CheckTask/ISRMemoryAccess API 偏差2.2.7 中断 API 偏差2.2.8 Cross Core Getter API2.2.9 …

Spring Boot 调用外部接口的常用方式!

使用Feign进行服务消费是一种简化HTTP调用的方式,可以通过声明式的接口定义来实现。下面是一个使用Feign的示例,包括设置Feign客户端和调用服务的方法。 添加依赖 首先,请确保你的项目中已经添加了Feign的依赖。如果你使用的是Maven&#xf…

Redis篇(应用案例 - 商户查询缓存)

目录 一、什么是缓存? 二、为什么要使用缓存 三、如何使用缓存 四、添加商户缓存 1. 缓存模型和思路 2. 代码如下 五、缓存更新策略 1. 内存淘汰 2. 超时剔除 3. 主动更新 六、数据库缓存不一致解决方案 1. 数据库缓存不一致解决方案 2. 数据库和缓存不一致采用什…

《关于浔川 AI 翻译 v3.0 延迟上线的通告》——浔川社团官方

尊敬的用户: 您好! 首先,我们要向一直以来期待浔川 AI 翻译 v3.0 上线的各位用户致以最诚挚的歉意。原定于 [2024.9.19] 上线的浔川 AI 翻译 v3.0,由于 [安装失败原因],将再次延迟至 2024 年 10 月 2 日上线。 我们…

AMD ROCm™ 安装指南

AMD ROCm™ installation — ROCm Blogs 注意: 本文之前是 AMD 实验笔记博客系列的一部分。 AMD ROCm™ 是第一个面向 HPC/超大规模级 GPU 计算的开源软件开发平台。AMD ROCm™ 将 UNIX 的选择权、极简主义和模块化软件开发哲学引入 GPU 计算领域。有关更多信息,请参…

【MySQL】函数及存储过程

MySQL函数和存储过程 函数 数据库中的函数是一种可重复使用的命名代码块,用于在数据库中执行特定的操作或计算。 在MySQL中提供了很多函数,为我们的SQL提供了便利 内置函数 mysql> select count(r_id),max(r_id),min(r_id),avg(r_id) from resume…

docker build 有时候不展示命令的输出情况,怎么办?

来源:https://stackoverflow.com/questions/64804749/why-is-docker-build-not-showing-any-output-from-commands docker build 有时候不展示命令的输出情况,不方便我们 debug,怎么办? 可以加上 docker build --progressplain …

C++和OpenGL实现3D游戏编程【连载10】——纹理的半透明显示

1、本节实现的内容 上一节课我们讲到了图片的镂空显示,它能在显示图片时去除指定颜色的背景,那么这节课我们来说一下图片的半透明显示效果,半透明效果能给画面带来更高质量的提升,使图片显示的更自然,产生更真实的效果。下面是一个气泡向上漂浮的效果。 气泡效果 2、非纹…

2024华为OD机试E卷-判断一组不等式是否满足约束并输出最大差-(C++/Java/Python)

2024华为OD机试最新E卷题库-(C卷+D卷+E卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 用例2 考点分析 题目解析 代码 c++ python java 题目描述 给定一组不等式,判断是否成立并输出不等式的最大差(输出浮点数的整数部分) 要求: 不等式系数为…

搜索引擎简介

搜索引擎架构 整个搜索引擎分为三个系统 爬虫系统 索引系统 线上搜素服务 爬虫系统 爬虫分为两个阶段: 第一阶段:根据目标网站的列表页,爬对应的文档 URL 第二阶段:根据文档 URL,下载文档内容 触发器&#xff1…

【行业报告】AI大模型对我国劳动力市场潜在影响研究报告(2024),附PDF下载!!

前言 9月13日,北京大学国家发展研究院联合智联招聘在中国国际服务贸易交易会上发布的《AI大模型对我国劳动力市场潜在影响研究:2024》(以下简称“报告”)显示,2024年上半年,招聘职位数同比增速前五的人工智…

数据结构——二叉树的性质和存储结构

二叉树的抽象类型定义 基本操作: CreateBiTree(&T,definition) 初始条件:definition给出二叉树T的定义。 操作结果:按definition构造二叉树T。 PreOrderTraverse(T) 初始条件:二叉树T存在。 操作结果:先序遍历T,对每个结…

基于Hive和Hadoop的白酒分析系统

本项目是一个基于大数据技术的白酒分析系统,旨在为用户提供全面的白酒市场信息和深入的价格分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出,以 Spark 为核…

LLM | Ollama WebUI 安装使用(pip 版)

Open WebUI (Formerly Ollama WebUI) 也可以通过 docker 来安装使用 1. 详细步骤 1.1 安装 Open WebUI # 官方建议使用 python3.11(2024.09.27),conda 的使用参考其他文章 conda create -n open-webui python3.11 conda activate open-web…