使用systemd管理服务
systemd简介
systemd简介
在Linux中,systemd是与SysV和LSB初始化脚本兼容的系统和服务管理器,开启systemd服务可以提供基于守护进程的按需启动策略。
systemd服务支持快照和系统状态恢复,维护挂载和自挂载点,使得个服务之间基于从属关系实现更为精细的逻辑控制,具有更高的并行性能。
Systemd unit概念
systemd服务的开启和监督系统是基于unit的概念,unit由一个与配置文件对应的名称和类型组成,unit通常有以下几种类型:
- Service unit:系统服务
- Target unit:一组systemd units
- Automount unit:文件系统挂载点
- Device unit:内核识别的设备文件
- Mount unit:文件系统挂载点
- Path unit:在一个文件系统中的文件或目录
- Scope unit:外部创建的进程
- Snapshot unit:systemd manager的保存状态
Systemd特性
systemd具备以下特性:
- 更快的启动速度
- 提供按需启动能力
- 采用cgroup特性跟踪和管理进程的生命周期
- 启动挂载点和自动挂载的管理
- 实现事务性依赖关系管理
- 与SysV初始化脚本兼容
- 能够对系统进行快照和恢复
使用systemd管理服务(systemctl)
管理系统服务
systemd可以通过systemctl命令来对系统服务进行运行、关闭、重启、显示、启用或禁用的操作。systemctl命令与sysvinit命令的功能相似,但是建议用systemctl来进行系统服务管理。
Systemctl和sysvinit的区别这里做一个简单对比:
Systemctl - 显示服务
若是用户需要查看当前正在运行的服务,可以通过以下命令来进行查看:
systemctl list-units --type services #若是要查看所有服务,需要在命令后添加-all参数
Systemctl - 显示服务状态
若是用户需要查看某个服务的状态,可以通过如下命令来进行查看:
systemctl status name.service
其中的命令参数说明如下:
Loaded:说明服务是否被加载,同时显示对应的绝对路径是否启用
Active:说明服务是否正在运行,并显示时间节点
Main PID:相应系统服务PID值
CGroup:相关控制组的其他信息
Systemctl - 相关操作
systemctl命令可以对系统服务进行运行、关闭、重启、显示、启用或禁用等操作,命令如下:
运行服务:systemctl start name.service
关闭服务:systemctl stop name.service
重启服务:systemctl restart name.service
启用服务:systemctl enable name.service
禁用服务:systemctl disable name.service
Systemctl - 其他操作
Systemd亦可通过systemctl命令对系统进行关机、重启、休眠等操作,具体命令如下:
关闭系统:
systemctl poweroff #关闭系统并下电 systemctl halt #关闭系统但不下电
重启系统:
systemctl reboot
系统待机:
systemctl suspend
系统休眠:
systemctl hibernate systemctl hybrid-sleep #使系统待机并处于休眠状态
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!