linux系统systemd使用

news2024/9/27 12:18:03

一、开机启动

所有支持systemd的服务,在安装后,会在/usr/lib/systemd/system中添加一个配置文件,如果需要让当前的服务在开机的时候自动启动,则需要执行以下命令,以firewalld为例

systemctl enable firewalld.service

该命令执行完成后,将在/etc/systemd/system目录中添加一个软连接文件,此文件会指向该服务在/usr/lib/systemd/system中的配置文件,开启的时候,systemd会地洞存放在/etc/systemd/system中的所有配置文件的服务。

例如我们enable firewalld.service,则在/etc/systemd/system目录会会创建一个软连接文件dbus-org.fedoraproject.FirewallD1.service的文件,此文件指向/usr/lib/systemd/system/firewalld.service

当disable firewalld.service后,此文件被移除。

二、启动服务

执行systemctl enable后不会使得该服务被马上启动,只有下一次系统重启后才会启动该服务,如果我们需要让服务马上启动,则需要使用start命令,还是以firewalld为例

systemctl start firewalld.service

启动完成后我们使用status命令来查看firewalld服务的状态

systemctl status firewalld.service

status命令输出的内容表示的信息有:

Loaded:Loaded中的disabled或者enable表示该服务是否能够开机启动,同时指明了当前服务对应的配置文件所在的位置,如上图firewalld服务的配置文件是/usr/lib/systemd/system/firewalld.service

Active:表示是否正常运行,是active的状态还是inactive的状态,以及该状态开始的时间

Docs:使用man的帮助信息查看方式

Process:服务运行命令

Main PID:服务的主进程iD

Memory:消耗的内存

CGroup:该进程所在的cgroup,包括其所有子进程

日志块

三、停止服务

停止正在运行的服务可以使用stop命令, 以firewalld服务为例

systemctl stop firewalld

如果该服务无法正常停止,可以使用kill命令

systemctl kill firewalld

如果要重启该服务器,可以使用restart命令

systemctl restart firewalld

四、配置文件

服务的配置文件一般放在/usr/lib/systemd/system中,如果找不到可以直接使用cat命令来查看对应的文件和文件位置,以firewalld服务为例

systemctl cat firewalld

配置文件有几个重要的组成部分:

1. Unit块:

unit块中指明了启动的依赖关系和服务启动的顺序

Description:服务描述信息

Before:表示当前服务应该在指定服务之前启动,如上面表示的就是firewalld服务应该在network-pre.target之前启动

After:表示当前服务应该在指定服务之后启动,如上面表示firewalld服务要在dbus.service和polkit.service服务启动之后启动

Wants:表示当前服务的依赖关系,如上面表示firewalld服务需要network-pre.target

Requires:表示当前服务的依赖关系

Before和After只涉及启动顺序,不涉及依赖关系

Wants和Requires只涉及依赖关系,不涉及启动顺序,默认情况下是同时启动,Wants表示弱依赖,即依赖的服务启动失败也不影响当前服务的执行,Requires表示强依赖,即依赖的服务启动失败则当前服务也无法运行。

2. Service块:

EnvironmentFile:当前服务的环境参数文件,文件中保存的是key=value的键值对,在服务启动的时候可以以$key的方式来获取,如firewalld服务启动中使用的$FIREWALLD_ARGS就保存在/etc/sysconfig/firewalld文件中

ExecStart:启动进程执行的命令

ExecReload:重启服务执行的命令

ExecStop:停止服务执行的命令

ExecStartPre:启动服务之前执行的命令

ExecStartPost:启动服务之后执行的命令

ExecStopPost:停止服务之后执行的命令

所有设置之前都可以添加一个-,表示即使发生错误,不影响其他命令的执行,如EnvironmentFile=-/etc/sysconfig/firewalld表示即使没有找到/etc/sysconfig/firewalld文件也不会抛出错误。

Type:启动类型,支持以下类型:

simple(默认值):ExecStart字段启动的进程是主进程

forking:ExecStart字段以fork方式启动,父进程退出,子进程继续执行

oneshot:类似simple,但是只会执行一次,服务不会长期存在

dbus:类似simple,会等待D-Bus信号后启动

notify:类似simple,启动结束后会发出通知信号,然后systemd再启动其他服务

idle:类似simple,但是要等其他任务都执行完成后才启动服务

RemainAfterExit:进程退出后,服务依然保持

KillMode:kill类型,支持以下类型:

control-group:当前控制组里的所有子进程都会被杀死

process:只杀主进程

mixed:主进程会收到SIGTERM信号,子进程收到SIGKILL信号

none:没有进程被杀,只会执行服务的stop字段命令

Restart:restart类型,支持以下类型:

no:退出后不重启

on-success:正常退出后会重启

on-failure:非正常退出后会重启

on-abnormal:被信号终止或者超时重启

on-abort:收到没有捕捉到的信号终止时重启

on-watchdog:超时重启

always:不管什么原因都重启

对于守护进程推荐设置为on-failure

RestartSec:重启服务之前需要等待的second数

3. Install块

Wantedby:表示该服务所在的target

四、修改配置文件后重启

修改配置文件后需要重新加载配置文件重启

systemctl daemon-reload

systemctl restart firewalld

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

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

相关文章

全局UI方法-弹窗六-自定义弹窗

1、描述 通过CustomDialogController类显示自定义弹窗。使用弹窗组件时,可优先考虑自定义弹窗,便于自定义弹窗的样式与内容。 2、接口 CustomDialogController(value:{builder: CustomDialog, cancel?: () > void, autoCancel?: boolean, alignme…

精品凉拌菜系列热卤系列课程

这一系列课程涵盖精美凉拌菜和美味热卤菜的制作技巧。学员将学习如何选材、调味和烹饪,打造口感丰富、色香俱佳的菜肴。通过实践训练,掌握独特的烹饪技能,为家庭聚餐或职业厨艺提升增添亮点。 课程大小:6.6G 课程下载&#xff1…

Linux系统使用Docker搭建Traefik结合内网穿透实现公网访问管理界面

文章目录 一、Zotero安装教程二、群晖NAS WebDAV设置三、Zotero设置四、使用公网地址同步Zotero文献库五、使用永久固定公网地址同步Zotero文献库 Zotero 是一款全能型 文献管理器,可以 存储、管理和引用文献,不但免费,功能还很强大实用。 ​ Zotero 支…

修改mysql密码

1.在此处文件夹下打开cmd 2.输入命令mysqladmin -uroot -p旧密码 password 新密码 3.在navicat进行测试连接

鱼哥赠书活动第14期:看完这本《数字化运维》掌握数字化运维方法,构建数字化运维体系

鱼哥赠书活动第14期:看完这本《数字化运维》掌握数字化运维方法,构建数字化运维体系 主要内容:读者对象:赠书抽奖规则:往期赠书福利: 数字化转型已经成为大势所趋,各行各业正朝着数字化方向转型&#xff0c…

请查收!一份Go代码优化实用指南

Go非常适合构建高性能应用,本文通过对整型切片求和代码的优化,介绍了常用的Go代码优化方案,从而让代码获得更好的性能。原文: Optimizing Go Code: A Practical Guide 代码优化是软件开发流程中的关键步骤,从而确保程序高效运行、…

Vercel搭建线上项目 (无服务器版-免费)

前言 假如想做一个简单的功能,例如一个博客网站或网页小程序,以往我是要先花几百元购买ECS服务器,在服务器上安装运维面板、再安装Nginx、MySQL、NodeJS、Java、PHP等环境,最后实现一个API服务器。 这种传统模式不但有着较高的技…

企业指标体系的落地与推广:让指标体系真正发挥作用

一、精心策划实施计划,确保项目有序进行 为确保指标体系的顺利落地与推广,我们精心策划了实施计划。首先,我们制定了详细的时间表,明确了项目启动、关键节点和结束时间,确保项目能够按期推进。同时,我们还将…

rtph264depay插件分析笔记

1、rtp协议头 2、rtp可以基于TCP或者UDP 其中基于TCP需要加4个字节的RTP标志 3、rtph264depay定义解析函数gst_rtp_h264_depay_process,通过RFC 3984文档实现。 static void gst_rtp_h264_depay_class_init (GstRtpH264DepayClass * klass) {GObjectClass *gobject…

C++初阶:2_类与对象(下)

类与对象(下) 一.再谈构造函数 1. 构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} private:int _ye…

Kubernetes容器平台下的 GPU 集群算力管控

引言 随着最近一两年生成式大模型的迭代出新,尤其是以 ChartGPT 为代表的大语言模型,几乎一夜间让所有人都看到了人工智能改变世界的潜力。而作为持续发力 GPU 通用计算(CUDA)的 AI 专业显卡提供商,Nvidia 公司成为了…

人大金仓数据库介绍与使用指南

人大金仓数据库是一款强大的关系型数据库管理系统,具有简单易用、高性能和稳定可靠的特点。本文将介绍人大金仓数据库的安装方法、常用的SQL语法以及相关工具的使用。 一、安装方法: 1、下载人大金仓数据库安装程序; 2、运行安装程序&#…

事件穿透效果

讲述一下事件穿透的需求,大家可以根据实际情况来考虑是否采用这种方式来制作页面,(项目中遇到了底部是地图,两侧面板,但是UI在设计的时候为了好看,会有很大的遮罩阴影部分,如果按照时间制作会导…

pip永久修改镜像地址

修改命令: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ 效果: 会在C:\Users\PC(用户名)\AppData\Roaming\pip目录下新增或修改文件pip.ini 文件内容: [global] index-url https://pypi.tuna.tsinghua.e…

关于柔性阵列(/三维阵列)波束形成的仿真实践以及稳健波束形成的思考(1)

说明 关于波束形成,我之前写过几篇相关的博文,如参考资料[1]、[2]、[3]。除去在博文[2]中有讨论过阵元相对位置关系对波束形成的影响:“如何基于遗传算法优化阵元相对位置关系以压低旁瓣峰值”以外,似乎我认知里的天线阵列&#x…

PS从入门到精通视频各类教程整理全集,包含素材、作业等

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 【Photoshop 教程】史上最容易听懂的PS...在最后四…

k8s入门到实战(十四)—— Helm详细介绍及使用

Helm 使用 Helm 是一个 k8s 应用的包管理工具,类似于 Ubuntu 的 APT 和 CentOS 中的 YUM。 Helm 使用 chart 来封装 k8s 应用的 yaml 文件,我们只需要设置自己的参数,就可以实现自动化的快速部署应用。 Helm 通过打包的方式,支…

谭浩强第五版C语言课后习题(编程题)+答案

谭浩强第五版作为初学C语言必读的一本教材,课后习题具有非常大的参考价值,也是很多高校期末考试或者考研的重要参考。在这里我整理了一部分个人认为比较重要的编程题,供大家作参考 1.输入两个数,求他们的最大公约数和最小公倍数&…

Cesium.js综合实验

Cesium.js综合实验 1 概述 Cesium是一个跨平台、跨浏览器的展示三维地球和地图的开源 JavaScript 库,是AGI公司计算机图形开发小组与2011年研发的三维地球和地图可视化开源JavaScript库,Cesium一词来源于化学元素铯,铯是制造原子钟的关键元…

VUE+ elementUI 表头动态渲染的两种方法

效果&#xff1a; <template><div><el-alert title"比较麻烦的写法" type"error"></el-alert><el-table border style"width:300px;" :data"tabelData"><el-table-columnv-for"column in colum…