/lib/systemd/system 系统服务管理,开机启动,无需登陆用户html
/usr/lib/systemd/system 用户服务管理,用户登陆后自动启动linux
1.systemd的特性:ssh
#支持并行化任务socket
#同时采用socket式和D-Bus总线式激活服务
ide
#按需启动守护进程daemon
工具
#利用linux的cgroups监视进程
spa
#支持快照和系统恢复
hibernate
#维护挂载点和自动挂载点
rest
#各服务间基于依赖关系进行精密控制
orm
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