/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