• Linux:Day16(上)


    Systemd:

      init:

        CentOS 5:SysV init

        CentOS 6:Upstart

        CentOS 7:Systemd

      Systemd新特性:

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

        按需激活进程;

        系统状态快照;

        基于依赖关系定义服务控制逻辑;

      核心概念:unit

        配置文件进行标识和配置:文件中主要包含了系统服务、监听socket,保存的系统快照以及其它与init相关的信息;

        保存至:

          /usr/lib/systemd/system

          /run/systemd/system

          /etc/systemd/system

      Unit的类型:

        Service unit:文件扩展名为.service,用于定义系统服务;

        Target unit:文件扩展名为.target,用于模拟实现“运行级别”;

        Device unit:.device,用于定义内核识别的设备;

        Mount unit:.mount,定义文件系统挂载点;

        Socket unit:.socket,用于标识进程间通信用的socket文件;

        Snapshot unit:.snapshot,管理系统快照;

        Swap init:.swap,用于标识swap设备;

        Automount unit:.automount,文件系统的自动挂载点;

        Path unit:.path,用于定义文件系统中的一个文件或目录;

      关键特性:

        基于socket的激活机制:socket与服务程序分离;

        基于bus的激活机制;

        基于device的激活机制;

        基于path的激活机制;

        系统快照:保存各unit的当前状态信息于持久存储设备中;

        向后兼容sysv init脚本;

      不兼容:

        systemctl命令固定不变

        非由systemd启动的服务,systemctl无法与之通信

      管理系统服务:

        CetntOS 7:service unit

          注意:能兼容早期的服务脚本

          命令:systemctl COMMAND name.service

        启动: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

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

        查看所有已激活的服务:

          systemctl list-units --type service

        查看所有服务:

          systemctl list-units --type service --all

        chkconfig命令的对应关系:

          设定某服务开机自启:chkconfig name on ==> systemctl enable name.service

          禁止:chkconfig name off ==> systemctl disable name.service

          查看所有服务的开机自启状态:

            chkconfig --list ==> systemctl list-unit-files --type 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

        级别切换:

          init N ==> 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

        快照并挂起:systemctl hybrid-sleep

  • 相关阅读:
    apt-get connects to web
    Particle Filter(CC) 放狗
    Get a specific pixel coordinates where your mouse on (cc)
    event
    两张图片的平移实验 (SLAM translate epipolar geometry)
    vs2010 LINK : fatal error LNK1123: 转换到 COFF 期间失败:(cc)
    fx and fy in Calibration
    How do I get add-apt-repository to work through a proxy?
    ROS and PCL install
    Longest palindrome subsequence
  • 原文地址:https://www.cnblogs.com/sq5288/p/10628809.html
Copyright © 2020-2023  润新知