/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