一,什么是systemd的target?

1,关于systemd/systemctl的相关知识,请移步到这一篇

https://www.cnblogs.com/architectforest/p/12678142.html

2,Target 就是一个 Unit 组,包含许多相关的 Unit

启动某个 Target 的时候,Systemd 就会启动里面所有的 Unit

可以理解成init的runlevel

3,systemd类似运行级别的target有哪些?

poweroff.target (相当于runlevel 0)      关闭电源
rescue.target (相当于runlevel 1) 急救
multi-user.target (相当于runlevel 3) 多用户命令行
graphical.target(相当于runlevel 5) 图形界面
reboot.target(相当于runlevel 6) 重启

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,target相关的目录

1,默认的 RunLevel,位置是 /etc/systemd/system/default.target

它是一个符号链接,链接会链接到graphical.target(图形界面)或者multi-user.target(多用户命令行)

2,当设置一个unit为开机自启动时,可以看到:

是为它创建符号链接到当前的target的对应目录下:

例如: /etc/systemd/system/multi-user.target.wants

例子:

[root@blog ~]# systemctl enable mysqld.service
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.

例子:查看multi-user.target下自动启动的服务:

[root@blog ~]# ll /etc/systemd/system/multi-user.target.wants 

默认的 RunLevel(在 /etc/inittab 文件设置)现在被默认的 Target 取代,

位置是 /etc/systemd/system/default.target,

通常符号链接到graphical.target(图形界面)或者multi-user.target(多用户命令行)

例子:

[root@blog ~]# ll /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 37 Dec 25 11:33 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target

三,查看默认的运行级别

[root@blog ~]$ systemctl get-default
multi-user.target

在另外一台图形界面的centos上查看

[root@centos8 ~]$ systemctl get-default
graphical.target

四,不重启机器而切换当前的运行级别

#isolate 用于切换当前的运行级别

#切换到multi-user.target(命令行界面)

[root@centos8 ~]$ systemctl isolate multi-user.target

#切换到graphical.target(图形界面)

[root@centos8 ~]$ systemctl isolate graphical.target

五,查看当前的运行级别:

1,切换到命令行界面

[root@centos8 liuhongdi]# systemctl isolate multi-user.target 

2,用runlevel查看当前的运行级别:

[root@centos8 liuhongdi]# runlevel
5 3

说明:5是前一个运行级别

3是当前的运行级别

3,也可以用who -r命令

[root@centos8 liuhongdi]# who -r
run-level 3 2020-04-07 16:44 last=5

run-level 是当前的运行级别

last是上一个运行级别

六,修改默认的运行级别target

1,修改默认的运行级别:

#set-default  用来指定默认的运行级别

[root@centos8 ~]# systemctl set-default multi-user.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.

说明:我们可以看到:set-default 所做的操作:

把/usr/lib/systemd/system/multi-user.target创建符号链接到/etc/systemd/system/default.target

2,查看修改是否成功:

[root@centos8 ~]# systemctl get-default
multi-user.target

3,修改成功后重启可以看到效果

七,查看一个运行级别下面所有的unit

1,

# list-dependencies: 分析指定target各unit之间的依赖关系,如果不指明target,则表示是默认的target

[root@blog ~]# systemctl list-dependencies multi-user.target
multi-user.target
● ├─aegis.service
● ├─aliyun.service
● ├─atd.service
● ├─auditd.service
● ├─chronyd.service
● ├─crond.service
● ├─dbus.service
● ├─dnf-makecache.timer
● ├─ecs_mq.service
● ├─irqbalance.service
● ├─libstoragemgmt.service
● ├─mcelog.service
● ├─mdmonitor.service

说明: 各个service前的黑色圆点,如果是绿色,表示正在运行中,active

如果是黑色,表示是inactive

2,查看哪些target引用了当前运行级别的target

#--reverse

[root@blog ~]# systemctl list-dependencies multi-user.target --reverse
multi-user.target
● └─graphical.target

multi-user.target被graphical.target所引用

八,systemctl与关机/重启相关的命令

1,关闭cpu,但未关闭电源

[root@blog ~]# systemctl halt

2,关闭电源

[root@blog ~]# systemctl poweroff

建议使用这个,这个会真正关闭电源

3,重启机器

[root@blog ~]# systemctl reboot

九,列出系统中包含的所有target

[root@blog ~]# systemctl list-unit-files --type=target 

十,查看centos的版本

[root@blog ~]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

centos8使用systemctl管理运行级别的更多相关文章

  1. linux(centos8):用systemctl管理war包形式的jenkins(java 14 / jenkins 2.257)

    一,如何安装jenkins? 参见: https://www.cnblogs.com/architectforest/p/13685904.html 说明:刘宏缔的架构森林是一个专注架构的博客,地址: ...

  2. RHEL 6 和 RHEL 7 的一些有关运行级别,服务管理,服务启动等方面的区别介绍

    systemd是7中的新命令组,集成了service和chkconfig的功能.system命令可参考:https://www.cnblogs.com/ray-bk/p/10415173.html 运 ...

  3. systemd的运行级别与服务管理命令简介

    从很久很久以前我们就在使用静态运行级别.而systemd提供了更为动态灵活的机制,来管控你的系统. 在开始介绍systemd命令前,让我们先简单的回顾一下历史.在Linux世界里,有一个很奇怪的现象, ...

  4. 第14章 Linux启动管理(1)_系统运行级别

    1. CentOS 6.x 启动管理 (1)系统运行级别 ①运行级别 运行级别 含义 0 关机 1 单用户模式,可以想象为Windows的安全模式,主要用于系统修复.(但不是Linux的安全模式) 2 ...

  5. CentOS7.5下开发systemctl管理的自定义Nginx启动服务程序

    一.systemctl知识简介 从CentOS7 Linux开始,系统里的网络服务启动已经从传统的service改成了systemctl(一个systemd工具,主要负责控制systemd系统和服务管 ...

  6. 为什么说Ubuntu的运行级别为2

    继上一篇文章http://www.cnblogs.com/EasonJim/p/7163069.html深入研究了Linux的运行级别之后,发现网上大部分都说Ubuntu的运行级别默认为2,那么下面就 ...

  7. Linux:检查当前运行级别的五种方法

    运行级就是Linux操作系统当前正在运行的功能级别.存在七个运行级别,编号从0到6.系统可以引导到任何给定的运行级别.运行级别由数字标识. 每个运行级别指定不同的系统配置,并允许访问不同的进程组合.默 ...

  8. Linux 服务控制与运行级别

    如何控制服务的运行状态?如何切换不同的运行级别? 服务控制 ntsysv 仿图形交互界面,集中配置各种服务启动状态 --level 35:同时对指定运行级别中的服务进行管理,不加仅管理当前运行级别中的 ...

  9. RHEL7使用systemctl管理服务

    1.   systemctl命令 说明 systemctl    start   [unit type] 启动服务 systemctl    stop   [unit type] 停止服务 syste ...

随机推荐

  1. docker下jira数据备份和还原注意路径

    重点:jira页面上的备份与恢复页面的路径,跟我实际路径是有出入的,如果找不到就用find去搜下备份文件就知道怎么操作了 1.登录jira后,右上角的系统——左侧的导入与导出——选择里面的备份与恢复 ...

  2. [LeetCode]621. 任务调度器(贪心)

    题目 给定一个用字符数组表示的 CPU 需要执行的任务列表.其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务.任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完.CP ...

  3. [程序员代码面试指南]栈和队列-最大值减去最小值 小于或等于num 的子数组的数量(单调队列)

    题目 给定数组arr和整数num,求数组的子数组中有多少个的满足"最大值减去最小值<=num". 解题思路 分析题目,有结论: 如果数组arr[i...j]满足条件,则它的每 ...

  4. CentOS6.10下安装MongoDB和Redis

    安装mongodb 首先考虑离线安装,但是安装过程中在启动服务的时候出现了问题,centOS出于稳定原因考虑,系统自带的glibc版本过低, 而编译需要使用较高版本,这个问题我查询了一下,需要升级gl ...

  5. MATLAB 与 Excel 接口

    MATLAB 与 Excel 接口MATLAB 与 Excel 有两种接口方式:一种是通过 MATLAB 提供的 Excel 生成器,生成220 MATLAB 实用教程DLL 组件和 VBA 代码,实 ...

  6. Jenkins持续集成git、gitlab、sonarqube(7.0)、nexus,自动化部署实战,附安装包,严禁转载!!!

    导读 之前用的都是SVN,由于工作需要用到Git,求人不如求己,技多不压身,多学一项技能,未来就少求别人一次,系统的学一遍,自己搭建一整套环境,自动化部署(自动发版),代码质量检测等等(为啥不用doc ...

  7. k8s Docker 安装

    k8s Docker 安装 一.运行环境 Centos 7.7 虚拟机内核为 3.10 基础组件版本: k8s.gcr.io/kube-apiserver:v1.16.0 k8s.gcr.io/kub ...

  8. JDK动态代理学习心得

    JDK动态代理是代理模式的一种实现方式,其只能代理接口.应用甚为广泛,比如我们的Spring的AOP底层就有涉及到JDK动态代理(此处后面可能会分享) 1.首先来说一下原生的JDK动态代理如何实现: ...

  9. php第四天-字符串

    0x01 字符串 1.1 字符串的处理方式 在不同的语言中,字符串的处理方式不同:在C中字符串是作为字节数组处理的:在Java中字符串是作为对象处理的:而在php中则把字符串作为基本数据类型来处理. ...

  10. 加权图的最小生成树、最短路径算法 - java实现

    加权图相关算法 前言 本文主要介绍加权图算法中两个重要应用:最小生成树和最短路径. 求最小生成树时针对的是加权无向图,加权有向图的最小生成树算法成为"最小属树形图"问题,较为复杂, ...