Linux基础 - 服务管理(systemd)_linux systemd

二、介绍

1、Linux系统和服务管理器

三、主要的管理工具systemctl

1、配置文件

2、unit分类

3、管理unit

1)常见命令

2)实例

4、系统管理(请勿轻易尝试)

5、查看系统服务

1)命令

2)实例

6、运行级别

1)级别划分

2)常见命令(谨慎使用)

3)实例

7、设置默认级别

1)查看默认级别

2)设置默认级别


一、systemd的由来

systemd即为system daemon,是linux下的一种init软件,由Lennart Poettering带头开发,systemd这一名字源于Unix中的一个惯例:在Unix中常以"d"作为系统守护进程(英语:daemon,亦称后台进程)的后缀标识。除此以外,systemd亦是借代英文术语D体系,而这一术语即是用于描述一个人具有快速地适应环境并解决困难的能力。systemd已纳入众多Linux发行版的软件源中。

二、介绍

1、Linux系统和服务管理器

Systemd是一个更高效的系统和服务管理器,是内核引导之后加载的第一个初始化进程(PID=1),负责掌控整个Linux的运行/服务资源组合,在开机时服务并行启动,各系统服务间的精确依赖。

三、主要的管理工具systemctl

1、配置文件

配置目录:/etc/systemd/system

脚本目录:/run/systemd/system

服务目录:/lib/systemd/system

2、unit分类

Systemd 可以管理的系统资源。不同的资源统称为 unit(单元),unit有13种。

序号资源名称含义
1service系统服务
2socket用于标识进程间通信的socket
3busname用于设定与此服务通信所使用的D-Bus名称
4target用于模拟实现“运行级别”
5snapshot管理系统快照
6device硬件设备
7mount文件系统挂载点
8automount自动挂载点
9swap用于标识swap设备(交换空间)
10timer定时器
11path文件或路径
12slice进程组
13scope不是由systemd启动的外部进程

3、管理unit

1)常见命令

systemctl start unit #启动服务

systemctl stop unit #停止服务

systemctl restart unit #重启服务

systemctl enable unit #开机自启服务

systemctl enable --now unit #设置开机自启并立即开启服务

systemctl is-enable unit #查看服务是否开机自启

systemctl disable unit #禁止开机自启服务

systemctl kill unit #杀死unit的所有进程

systemctl reload unit #重新加载unit的配置文件

systemctl daemon-reload #重新加载所有修改过的配置文件

2)实例
[root@wangwu ~]# systemctl start httpd
[root@wangwu ~]# systemctl status httpd

● httpd.service - The Apache HTTP Server

   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)

   Active: active (running) since Sun 2022-10-23 21:08:08 CST; 1min 2s ago

     Docs: man:httpd(8)

           man:apachectl(8)

 Main PID: 110860 (httpd)

   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"

    Tasks: 6

   CGroup: /system.slice/httpd.service

           ├─110860 /usr/sbin/httpd -DFOREGROUND

           ├─110861 /usr/sbin/httpd -DFOREGROUND

           ├─110862 /usr/sbin/httpd -DFOREGROUND

           ├─110863 /usr/sbin/httpd -DFOREGROUND

           ├─110864 /usr/sbin/httpd -DFOREGROUND

           └─110865 /usr/sbin/httpd -DFOREGROUND



Oct 23 21:08:08 wangwu systemd[1]: Starting The Apache HTTP Server...

Oct 23 21:08:08 wangwu httpd[110860]: AH00558: httpd: Could not reliably d...ge

Oct 23 21:08:08 wangwu systemd[1]: Started The Apache HTTP Server.

注:

Loaded行:配置文件的位置,是否设为开机启动

Active行:表示正在运行

Main PID行:主进程ID

Status行:由应用本身提供的软件当前状态

CGroup块:应用的所有子进程

日志块:应用的日志

[root@wangwu ~]# systemctl stop httpd
[root@wangwu ~]# systemctl status httpd

● httpd.service - The Apache HTTP Server

   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)

   Active: inactive (dead)

     Docs: man:httpd(8)

           man:apachectl(8)



Sep 29 17:45:02 wangwu systemd[1]: Unit httpd.service cannot be reloaded b...e.

Oct 23 21:08:08 wangwu systemd[1]: Starting The Apache HTTP Server...

Oct 23 21:08:08 wangwu httpd[110860]: AH00558: httpd: Could not reliably d...ge

Oct 23 21:08:08 wangwu systemd[1]: Started The Apache HTTP Server.

Oct 23 21:24:02 wangwu httpd[116627]: AH00558: httpd: Could not reliably d...ge

Oct 23 21:24:02 wangwu systemd[1]: Reloaded The Apache HTTP Server.

Oct 23 21:24:09 wangwu systemd[1]: Stopping The Apache HTTP Server...

Oct 23 21:24:10 wangwu systemd[1]: Stopped The Apache HTTP Server.
[root@wangwu ~]# systemctl restart httpd
[root@wangwu ~]# systemctl enable httpd

Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.


[root@wangwu ~]# systemctl enable --now httpd


[root@wangwu ~]# systemctl is-enabled httpd

enabled
[root@wangwu ~]# systemctl disable httpd

Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.

[root@wangwu ~]# systemctl is-enabled httpd

disabled
[root@wangwu ~]# systemctl kill httpd


[root@wangwu ~]# systemctl reload httpd


[root@wangwu ~]# systemctl daemon-reload

4、系统管理(请勿轻易尝试)

systemctl reboot #重启系统

systemctl poweroff #退出系统并关闭电源

systemctl halt #CPU停止工作

systemctl suspend #挂起系统

systemctl hibernate #系统休眠

systemctl hybrid-sleep #系统休眠并挂起:

5、查看系统服务

1)命令

systemctl -t service #查看活动的系统服务

systemctl -t service --all #列出所有系统服务(包括不活跃的)

2)实例

[root@wangwu ~]# systemctl -t service

UNIT                        LOAD   ACTIVE SUB     DESCRIPTION

abrt-ccpp.service           loaded active exited  Install ABRT coredump hook

注:

UNIT  #单元

LOA #是否存在

ACTIVE  #是否激活

SUB #状态

DESCRIPTION #描述

[root@wangwu ~]# systemctl -t service --all

  UNIT                       LOAD      ACTIVE   SUB     DESCRIPTION

● apparmor.service           not-found inactive dead    apparmor.service

6、运行级别

1)级别划分

系统的运行级别,分为七个级别,每种运行级别代表特定的操作模式,分别用数字0-6表示。

RHEL5、6RHEL7
级别含义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值