Systemd新特性:

  系统引导时实现服务并行启动   

  按需激活进程   

  系统状态快照基于依赖关系定义服务控制逻辑

核心概念:unit
  配置文件进行标识和配置:文件中主要包含了系统服务、监听socket、保存系统快照及其它与init相关的信息
    保存至:
      /usr/lib/systemd/system
      /run/systemd/system
      /etc/systemd/system

Unit的类型:
  Service unit:文件的扩展名为.serivce,用于定义系统服务
  Target unit:文件扩展名为.target,用于模拟实现运行级别
  Mount unit: .mount,定义文件系统挂载点
  Socket unit: .socket,用于表示进程间通信用的socket文件
  Snapshot unit: .sanpshot,管理系统快照
  Swap unit: .swap,用于标识swap设备
  Automount unit: .automount,文件系统的自动挂载点
  Path unit: .path,用于定义文件系统中的一个文件或目录

关键特性:
  基于socket的激活机制:socket与服务程序分离
  基于bus的激活机制
  基于device的激活机制
  基于path的激活机制
  系统快照:保存个unit的当前状态信息与持久存储设备中
  向后兼容sysv init脚本

不兼容:
  systemctl命令固定不变
  非有systemctl启动的服务,systemctl无法与之通信

管理系统服务:
  CentOS 7:service unit
    能兼容早期的服务类脚本

    命令:systemctl COMMAND name.service


    CentOS 6       CentOS 7
启动:service name start      systemctl start name.service
停止:service name stop       systemctl stop name.service
重启:service name restart      systemctl restart name.service
状态:service name status       systemctl status name.service
条件式重启:service name condrestart    systemctl try-restart name.service
条件式重启:如果莫服务此前已经启动,则把该服务重启,如果没启动,则不做任何操作
开机自启:chkconfig name on    systemctl enable name.service
禁止自启:chkconfig name off    systemctl disenable name.service
查看所有服务的开机自启状态:
  chkconfig --list        systemctl list-units-files --type service

查看某服务当前激活与否的状态:systemctl is-active name.service

查看所有已经激活的服务: systemctl list-units --type service

查看所有服务:systemctl list-units --type service --all

查看服务是否开机自启:systemctl is-enabled name.service
重启或重载服务:systemctl reload-or-restart name.service
重载或条件式重启服务: systemctl reload-or-try-restart name.service
禁止设定为开机自启: systemctl mask name.service
取消禁止设定为开机自启: systemctl unmask name.service

 

target units:
  unit配置文件:.target

运行级别:
  0 --> runlevel0.target,poweroff.target
  1 --> runlevel1.target,rescue.target
  2 --> runlevel2.target,multi-user.target
  3 --> runlevel3.target,multi-user.target
  4 --> runlevel4.target,multi-user.target
  5 --> runlevel5.target,graphical.target
  6 --> runlevel6.target,reboot.target

级别切换:
  CentOS 6   CentOS 7
  init #      systemctl isolate name.target
查看级别:
  runlevel    systemctl list-units --type target
获取默认运行级别:
  /etc/inittab    systemctl get-default
修改默认级别:
  /etc/inittab    systemctl set-default name.target

切换至紧急救援模式:
  systemctl rescue
切换至emergency模式:
  systemctl emergency

其他常用命令:
  关机:systemctl halt、systemctl poweroff
  重启:systemctl reboot
  挂起:systemctl suspend
  快照:systemctl hibernate

posted on 2017-11-01 23:47  卢伸乐  阅读(728)  评论(0编辑  收藏  举报