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

  

Systemd笔记的更多相关文章

  1. blfs(systemd版本)学习笔记-构建gnome桌面系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 大概思路: lfs(系统)+xorg(驱动)+gnome(桌面组件) 链接: lfs(systemd版本)学习笔记系列:http ...

  2. lfs(systemd版本)学习笔记-第3页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemd)学习笔记-第2页 的地址:https://www.cnblogs.com/renren-study-no ...

  3. lfs(systemd版本)学习笔记-第4页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemd版本)学习笔记-第3页 的地址:https://www.cnblogs.com/renren-study- ...

  4. blfs(systemd版本)学习笔记-总页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemd版本)学习笔记:https://www.cnblogs.com/renren-study-notes/p/ ...

  5. lfs(systemd版本)学习笔记-第1页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一名linux爱好者,记录构建Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习lfs,用博客 ...

  6. lfs(systemd版本)学习笔记-第2页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemd)学习笔记-第1页 的地址:https://www.cnblogs.com/renren-study-no ...

  7. CentOS 7 学习笔记(二)systemd

    sysVinit启动原理在我们打开Linux电脑的电源后第一个启动的进程就是init.分配给init进程的PID是1.它是系统其他所有进程的父进程.当一台Linux电脑启动后,处理器会先在系统存储中查 ...

  8. blfs(systemd版本)学习笔记-构建gnome桌面系统后的配置及安装的应用

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.构建安装ibus-libpinyin的笔记地址:https://www.cnblogs.com/renren-study-n ...

  9. blfs(systemd版本)学习笔记-为桌面环境构建xorg服务

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs准备使用桌面环境,首先需要构建xorg服务 xorg服务项目地址:http://www.linuxfromscratch. ...

随机推荐

  1. Shell 选择排序

    举例 #!/bin/bash echo "please input a number list:" read -a arrs for((i=0;i<${#arrs[@]};i ...

  2. Echarts实现Excel趋势线和R平方计算思路

    测试数据 [19550, 7.1 ],[22498, 8.44 ],[25675, 9.56 ],[27701, 10.77],[29747, 11.5 ],[32800, 12.27],[34822 ...

  3. js 提取特定的时间区间段

    项目中遇到问题,需要根据用户的选择提取出一个时间的区间段,然后对后台进行请求. 基本思路,先根据new Date()对象求出start_time和end_time时间戳,然后把时间戳转化成new Da ...

  4. HBase的部署与其它相关组件(Hive和Phoenix)的集成

    HBase的部署与其它相关组件(Hive和Phoenix)的集成 一.HBase部署 1.1.Zookeeper正常部署 首先保证Zookeeper集群的正常部署,并启动之: /opt/module/ ...

  5. linux设备驱动程序-i2c(0)-i2c设备驱动源码实现

    (基于4.14内核版本) 为了梳理清楚linux内核中的i2c实现框架,从本文开始,博主将分几个章节分别解析i2c总线在linux内核中的形成过程.匹配过程.以及设备驱动程序源码实现. 在介绍linu ...

  6. redis实现消息队列-java代码实现

    转:https://blog.csdn.net/qq_42175986/article/details/88576849 pom.xml <!-- redis依赖 --> <depe ...

  7. CentOS6.7安装部署Nginx(详解主配置文件)

    keepalived + nginx   :实现高可用 nginx: web服务器 反向代理,也支持缓存(缓存在磁盘上) 支持FastCGI tengine:淘宝官方在nginx原有的代码的基础上对n ...

  8. CentOS7 开机提示Initial setup of CentOS Linux 7 (Core)

    一.开机以后提示信息如下 二.解决方法 . 输入1,按Enter同意许可协议 . 输入2,按Enter同意许可协议 . 输入q,按Enter退出 . 输入yes,按Enter确定 . 完成重启后即可正 ...

  9. OAuth 第三方登录授权码(authorization code)方式的小例子

    假如上面的网站A,可以通过GitHub账号登录: 下面以OAuth其中一种方式,授权码(authorization code)方式为例. 一.第三方登录的原理 所谓第三方登录,实质就是 OAuth 授 ...

  10. idea忽略.iml文件

    .iml 和 eclipse中的.classpath,.project都属于开发工具配置文件, 也就是在项目导入ide的过程中生成的配置文件,每个人开发环境是不一样的,所以这个文件没必要提交. 而且如 ...