• Systemd笔记


    Systemd管理的启动脚本位于 /usr/lib/systemd/system/ 下

    Systemd启动顺序约定为: 当前服务满足启动条件, 则立即创建进程进行并行启动, 启动条件指服务的依赖关系(Requires, Wants)和顺序关键字(After, Before)等

    # 查看启动的服务, 再加上 --all 参数可以列出未启动的服务
    systemctl list-units
    # 列出服务配置文件, 如果只看服务, 可以加上 --type=service
    # 状态有4种: enabled:已建立启动链接, disabled:没建立启动链接, static:没有[Install]部分,只作为其他配置的依赖, masked:被禁止建立启动链接
    systemctl list-unit-files
    # 查看当前系统的所有 Target
    $ systemctl list-unit-files --type=target
    # 查看启动时的默认 Target
    systemctl get-default
    # 设置启动时的默认 Target
    systemctl set-default multi-user.target
    # 切换Target时默认不关闭前一个Target启动的进程, 而用isolate命令时会关闭前一个Target里所有不属于后一个Target的进程
    systemctl isolate multi-user.target
    # 查看服务启动的依赖关系, 要列出target里面的详细服务, 需要加上 --all 参数
    systemctl list-dependencies some.service
    

    Target 与 传统 RunLevel 的对应关系如下

    Traditional runlevel New target name Symbolically linked to...
    Runlevel 0 | runlevel0.target -> poweroff.target
    Runlevel 1 | runlevel1.target -> rescue.target
    Runlevel 2 | runlevel2.target -> multi-user.target
    Runlevel 3 | runlevel3.target -> multi-user.target
    Runlevel 4 | runlevel4.target -> multi-user.target
    Runlevel 5 | runlevel5.target -> graphical.target
    Runlevel 6 | runlevel6.target -> reboot.target
    

    .Systemd对单个服务的管理

    # 显示某个 Unit 是否正在运行
    systemctl is-active application.service
    # 显示某个 Unit 是否启动失败
    systemctl is-failed application.service
    # 显示某个 Unit 服务是否开启了自动启动
    systemctl is-enabled application.service
    # 激活开机启动
    systemctl enable application.service
    # 撤销开机启动
    systemctl disable application.service
    

    启动分析

    # 查看启动耗时
    systemd-analyze
    # 查看启动各项服务使用的时间
    systemd-analyze blame
    # 显示瀑布状的启动时序
    systemd-analyze critical-chain
    # 显示指定服务的启动时序
    systemd-analyze critical-chain sshd.service
    # 生成服务启动时序svg图
    systemd-analyze plot > boot.svg
    

    查看启动日志

    # 查看启动日志
    journalctl
    
    # 查看内核日志
    journalctl -k
    
    # 查看系统本次启动的日志
    journalctl -b
    journalctl -b -0
    
    # 查看上一次启动的日志(需更改设置)
    journalctl -b -1
    
    # 查看指定时间的日志
    sudo journalctl --since="2012-10-30 18:17:16"
    sudo journalctl --since "20 min ago"
    sudo journalctl --since yesterday
    sudo journalctl --since "2015-01-10" --until "2015-01-11 03:00"
    sudo journalctl --since 09:00 --until "1 hour ago"
    
    # 显示尾部的最新10行日志
    sudo journalctl -n
    
    # 显示尾部指定行数的日志
    sudo journalctl -n 20
    
    # 实时滚动显示最新日志
    sudo journalctl -f
    

      

  • 相关阅读:
    git常用命令
    git误删文件找回方法/git版本回退方法
    如何解决inline和linline-block在浏览器中的间距问题
    windows系统如何添加ssh key到github
    如何使用git命令添加文件和提交文件
    sublime text常用快捷键
    sublime text3好用的插件
    Atom编辑器的插件
    使用SharedPreference保存用户数据的步骤
    解析xml文件步骤 -- pullparser
  • 原文地址:https://www.cnblogs.com/milton/p/11971004.html
Copyright © 2020-2023  润新知