您的位置:首页 > 运维架构 > Linux

systemd系统服务管理详解

2015-09-23 16:28 483 查看
/lib/systemd/system 系统服务管理,开机启动,无需登录用户
/usr/lib/systemd/system 用户服务管理,用户登录后自动启动

1.systemd的特性:
#支持并行化任务
#同时采用socket式和D-Bus总线式激活服务

#按需启动守护进程daemon

#利用linux的cgroups监视进程

#支持快照和系统恢复

#维护挂载点和自动挂载点

#各服务间基于依赖关系进行精密控制

2.systemd基本工具
监视和控制systemd的主要命令systemctl,该命令用于查看系统状态和管理系统及服务

3.查看分析系统及服务状态:
#systemctl 输出激活的单元

#systemctl list-units 输出激活的单元
#systemctl --failed 输出运行失败的服务单元

#systemctl list-units-files 使用单元文件

一个单元配置文件可以描述如下内容之一:(.service)系统服务,(.mount)挂载点,(.sockets)sockets系统设备,交换分区/文件,(.target)启动目标,文件系统路径。
详情参阅man 5 systemd.unit

4.服务单元管理
使用 systemctl 控制单元时,通常需要使用单元文件的全名,包括扩展名(例如 sshd.service)。但是有些单元可以在systemctl中使用简写方式:a.如果无扩展名, 默认把扩展名当作 .service。例如 netcfg 和 netcfg.service 是等价的。
b.挂载点会自动转化为相应的 .mount 单元。例如 /home 等价于 home.mount。
c.设备会自动转化为相应的 .device 单元,所以 /dev/sda2 等价于 dev-sda2.device。

#systemctl start <单元> 立即激活相应单元
#systemctl stop <单元> 立即停止单元

#systemctl restart <单元> 重启单元

#systemctl reload <单元> 重新读取单元配置
#systemctl daemon-reload 重新加载systemd,扫描新的或有变化的单元
#systemctl status <单元> 单元的运行状态

#systemctl is-enable <单元> 检查单元是否配置为自动启动

#systemctl enable <单元> 设置单元开机启动
一般设置enable后,会自动连接到启动文件。手动配置,则两种方式:1.手动建一条软连接;2.在/lib/systemd/system/下建一个xx.service文件,并修改相应配置。(参考文档:)

#systemctl disable <单元>     取消开机激活单元
5.电源管理

安装polkit即可实现电源管理

如果在本地systemd-logind用户会话,且当前没有其他活动的话,无需root即可执行电源管理。
如果tty/ssh等远程登录用户,systemd将会自动请求root权限

#systemctl reboot 重启

#systemctl poweroff 退出系统并停止电源

#systemctl suspend 待机

#systemctl hibernate 休眠

#systemctl hybrid-sleep 混合休眠模式

systemd扩展:systemd详解 https://blog.linuxeye.com/400.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux systemd systemctl