首页 > 其他分享 >从0到1一步一步玩转openEuler--20 openEuler 管理服务-服务管理

从0到1一步一步玩转openEuler--20 openEuler 管理服务-服务管理

时间:2023-02-20 21:04:20浏览次数:39  
标签:服务 20 service 一步 systemctl active loaded openEuler root

20 管理系统服务

systemd提供systemctl命令来运行、关闭、重启、显示、启用/禁用系统服务。

20.1 sysvinit命令和systemd命令

systemd提供systemctl命令与sysvinit命令的功能类似。当前版本中依然兼容service和chkconfig命令,相关说明如表3,但建议用systemctl进行系统服务管理。

表 3 sysvinit命令和systemd命令的对照表

sysvinit命令 systemd命令 备注
service network start systemctl start network.service 用来启动一个服务 (并不会重启现有的)。
service network stop systemctl stop network.service 用来停止一个服务 (并不会重启现有的)。
service network restart systemctl restart network.service 用来停止并启动一个服务。
service network reload systemctl reload network.service 当支持时,重新装载配置文件而不中断等待操作。
service network condrestart systemctl condrestart network.service 如果服务正在运行那么重启它。
service network status systemctl status network.service 检查服务的运行状态。
chkconfig network on systemctl enable network.service 在下次启动时或满足其他触发条件时设置服务为启用。
chkconfig network off systemctl disable network.service 在下次启动时或满足其他触发条件时设置服务为禁用。
chkconfig network systemctl is-enabled network.service 用来检查一个服务在当前环境下被配置为启用还是禁用。
chkconfig --list systemctl list-unit-files --type=service 输出在各个运行级别下服务的启用和禁用情况。
chkconfig network --list ls /etc/systemd/system/*.wants/network.service 用来列出该服务在哪些运行级别下启用和禁用。
chkconfig network --add systemctl daemon-reload 当您创建新服务文件或者变更设置时使用。

20.2 显示所有当前服务

如果您需要显示当前正在运行的服务,使用命令如下:

# systemctl list-units --type service

例如显示当前正在运行的服务,命令如下:

[root@superman-21 ~]# systemctl list-units --type service
  UNIT                                                                                      LOAD   ACTIVE SUB     DESCRIPTIO>
  atd.service                                                                               loaded active running Deferred e>
  auditd.service                                                                            loaded active running Security A>
  chronyd.service                                                                           loaded active running NTP client>
  crond.service                                                                             loaded active running Command Sc>
  dbus.service                                                                              loaded active running D-Bus Syst>
  dkms.service                                                                              loaded active exited  Builds and>
  dracut-shutdown.service                                                                  .
.
.
  loaded active exited  Record Sys>
  systemd-user-sessions.service                                                             loaded active exited  Permit Use>
  systemd-vconsole-setup.service                                                            loaded active exited  Setup Virt>
  systemtap.service                                                                         loaded active exited  Run a conf>
  tuned.service                                                                             loaded active running Dynamic Sy>
  vdo.service                                                                               loaded active exited  VDO volume>

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
54 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
[root@superman-21 ~]# 

如果您需要显示所有的服务(包括未运行的服务),需要添加-all参数,使用命令如下:

# systemctl list-units --type service --all

例如显示所有的服务(包括未运行的服务),命令如下:

[root@superman-21 ~]# systemctl list-units --type service -all
  UNIT                                                                                      LOAD      ACTIVE   SUB     DESCR>
● apparmor.service                                                                          not-found inactive dead    appar>
  atd.service                                                                               loaded    active   running Defer>
  auditd.service                                                                            loaded    active   running Secur>
  auth-rpcgss-module.service                                                                loaded    inactive dead    Kerne>
● autofs.service                                                                            not-found inactive dead    autof>
  chronyd.service                                                                           loaded    active   running NTP c>
  cpupower.service                                                                          loaded    inactive dead    Confi>
  crond.service                                                                             loaded    active   running Comma>
  dbus.service                                                                              loaded    active   running D-Bus>
.
.
.
  tuned.service                                                                             loaded    active   running Dynam>
  udisks2.service                                                                           loaded    inactive dead    Disk >
  vdo.service                                                                               loaded    active   exited  VDO v>
  virtlockd.service                                                                         loaded    inactive dead    Virtu>
  virtlogd.service                                                                          loaded    inactive dead    Virtu>
● xencommons.service                                                                        not-found inactive dead    xenco>
● xendomains.service                                                                        not-found inactive dead    xendo>
● ypbind.service                                                                            not-found inactive dead    ypbin>

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
129 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.
[root@superman-21 ~]#

20.3 显示服务状态

如果您需要显示某个服务的状态,可执行如下命令:

# systemctl status name.service

相关状态显示参数说明如表4所示。

表 4 状态参数说明

参数 描述
Loaded 说明服务是否被加载,并显示服务对应的绝对路径以及是否启用。
Active 说明服务是否正在运行,并显示时间节点。
Main PID 相应的系统服务的PID值。
CGroup 相关控制组(CGroup)的其他信息。

如果您需要鉴别某个服务是否运行,可执行如下命令:

# systemctl is-active name.service

is-active命令的返回结果如下:

表 5 is-active命令的返回结果

状态 含义
active(running) 有一只或多只程序正在系统中执行
active(exited) 仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行。 举例来说,开机或者 是挂载时才会进行一次的 quotaon 功能
active(waiting) 正在执行当中,不过要等待其他的事件才能继续处理。例如:打印的队列相关服务 就是这种状态,虽然正在启动中,不过也需要真的有队列进来 (打印作业) 这样他才会继续唤醒打印机 服务来进行下一步打印的功能
inactive 这个服务没有运行

同样,如果您需要判断某个服务是否被启用,可执行如下命令:

# systemctl is-enabled name.service

is-enabled命令的返回结果如下:

表 6 is-enabled命令的返回结果

状态 含义
"enabled" 已经通过 /etc/systemd/system/ 目录下的 Alias= 别名、 .wants/ 或 .requires/ 软连接被永久启用。
"enabled-runtime" 已经通过 /run/systemd/system/ 目录下的 Alias= 别名、 .wants/ 或 .requires/ 软连接被临时启用。
"linked" 虽然单元文件本身不在标准单元目录中,但是指向此单元文件的一个或多个软连接已经存在于 /etc/systemd/system/ 永久目录中。
"linked-runtime" 虽然单元文件本身不在标准单元目录中,但是指向此单元文件的一个或多个软连接已经存在于 /run/systemd/system/ 临时目录中。
"masked" 已经被 /etc/systemd/system/ 目录永久屏蔽(软连接指向 /dev/null 文件),因此 start 操作会失败。
"masked-runtime" 已经被 /run/systemd/systemd/ 目录临时屏蔽(软连接指向 /dev/null 文件),因此 start 操作会失败。
"static" 尚未被启用,并且单元文件的 "[Install]" 小节中没有可用于 enable 命令的选项。
"indirect" 尚未被启用,但是单元文件的 "[Install]" 小节中 Also= 选项的值列表非空(也就是列表中的某些单元可能已被启用)、或者它拥有一个不在 Also= 列表中的其他名称的别名软连接。对于模版单元来说,表示已经启用了一个不同于 DefaultInstance= 的实例。
"disabled" 尚未被启用,但是单元文件的 "[Install]" 小节中存在可用于 enable 命令的选项
"generated" 单元文件是被单元生成器动态生成的。被生成的单元文件可能并未被直接启用,而是被单元生成器隐含的启用了。
"transient" 单元文件是被运行时API动态临时生成的。该临时单元可能并未被启用。
"bad" 单元文件不正确或者出现其他错误。 is-enabled 不会返回此状态,而是会显示一条出错信息。 list-unit-files 命令有可能会显示此单元。

例如查看gdm.service服务状态,命令如下:

[root@superman-21 ~]# systemctl status httpd.service
○ httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
     Active: inactive (dead)
       Docs: man:httpd.service(8)
[root@superman-21 ~]# 

例如鉴别httpd服务是否运行,可执行如下命令:

[root@superman-21 ~]# systemctl is-active httpd
inactive
[root@superman-21 ~]# 

例如判断httpd服务是否被启用,可执行如下命令:

[root@superman-21 ~]# systemctl is-enabled httpd
disabled
[root@superman-21 ~]# 

20.4 运行服务

如果您需要运行某个服务,请在root权限下执行如下命令:

# systemctl start name.service

例如运行httpd服务,命令如下:

[root@superman-21 ~]# systemctl start httpd.service 
[root@superman-21 ~]# 

20.5 关闭服务

如果您需要关闭某个服务,请在root权限下执行如下命令:

# systemctl stop name.service

例如关闭蓝牙服务,命令如下:

[root@superman-21 ~]# systemctl stop httpd.service  
[root@superman-21 ~]# 

20.6 重启服务

如果您需要重启某个服务,请在root权限下执行如下命令:

# systemctl restart name.service

执行命令后,当前服务会被关闭,但马上重新启动。如果您指定的服务,当前处于关闭状态,执行命令后,服务也会被启动。

例如重启蓝牙服务,命令如下:

[root@superman-21 ~]# systemctl restart httpd.service
[root@superman-21 ~]# 

20.7 启用服务

如果您需要在开机时启用某个服务,请在root权限下执行如下命令:

# systemctl enable name.service

例如设置httpd服务开机时启动,命令如下:

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

20.8 禁用服务

如果您需要在开机时禁用某个服务,请在root权限下执行如下命令:

# systemctl disable name.service

例如在开机时禁用蓝牙服务启动,命令如下:

[root@superman-21 ~]# systemctl disable httpd.service    
Removed /etc/systemd/system/multi-user.target.wants/httpd.service.
[root@superman-21 ~]# 

标签:服务,20,service,一步,systemctl,active,loaded,openEuler,root
From: https://blog.51cto.com/u_237826/6069369

相关文章

  • 2.20 资源文件 消息断点
    1.创建对话框点击查看代码实现按钮点击获取编辑框的值获取参数1实现按钮点击获取编辑框的值获取参数1实现按钮点击获取编辑框的值获取参数1实现按钮点击获取编辑框的......
  • 2.20总结
    学习了eclipse连接数据库和创建web工程,在创建web工程时出现异常。新建index.html后,运行tomcat,无法在页面显示,在eclipse的Market中显示missing,javabuildpathproblems,未找......
  • 每日随笔2023/2/20
     今天,上了建民老师的三节课,收获颇丰,(顺带听了三节课的相声),通过上建民老师的课,用他游泳的经验告诉我们学习的把自己逼到最后一步,这点有点感受,自己配置ideal的过程中遇到了很......
  • P9064 [yLOI2023] 苦竹林 题解
    题目传送门题目大意给定一个长度为\(n\)序列\(a\),从中选取\(m\)个,满足对任意的\(1\leqi,j\leqm\),都有\(|b_i-b_j|\leq\varepsilon\),其中,\(b\)是选出来......
  • 2023.02.20 - AI生成的歌曲和封面
    张子贺使用的所有AI平台ChatGPThttps://chat.openai.com/Midjourneyhttps://www.midjourney.com/Soundboard-TUNAhttps://tuna.voicemod.net/Muberthttps://mube......
  • 2023.2.20 软件工程第一课总结及体会
    今天是开学第二周,第一周惯例是开学考试的时间,第二周的周一下午,在这门课正式开始的第一节,建民老师向我们介绍了这门课开设的目的,起初我以为这门课程就像是其他课程一样,上来......
  • 盘点2023年大企业都在用的优秀项目管理软件
    行内有句话:每个成功的项目背后肯定有一个成功的项目经理,而每个项目经理背后都少不了一些专业的项目管理工具。要在任何项目中取得成功,对项目进行全面的管理非常关键,包括项......
  • 每日总结2023/2/20
    今天学习了Androidstudio的安装与配置,准备进入初步的安卓学习,下面连接是我在csdn学习的网址(24条消息)AndroidStudio安装配置教程-Windows(详细版)_初学者-Study的......
  • 软件工程 | 23/2/20 | 学习目标
      21级第二学期学习目标 1、熟练完成JDBC+Servlet+jsp的增删改查 【必须完成】2、熟练使用一些简单的css样式【能够使用即可】3、优化代码,解耦【看时......
  • P2016 战略游戏
     #include<bits/stdc++.h>usingnamespacestd;constintN=1600,M=5*N;intn,in[N],nxt[M],go[M],hd[N],all=1,f[N][2];voidadd(intx,inty){ go[++al......