加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux下如何巧用systemctl管理系统上的服务

发布时间:2023-08-18 15:34:36 所属栏目:Linux 来源:未知
导读:   这篇文章给大家分享的是Linux下如何利用systemctl管理系统上的服务。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下
  这篇文章给大家分享的是Linux下如何利用systemctl管理系统上的服务。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
 
  自centOS7后,新增了一个管理服务的命令——systemctl,通过这个命令可以非常方便的管理系统上的服务。
 
  通过systemctl开启、关闭服务
 
  下面列出关于服务的开启、关闭相关选项
 
  start 开启服务
 
  stop 关闭服务
 
  restart 重启服务
 
  status 查看服务状态
 
  reload 重新载入配置文件(不关闭服务)
 
  enable 开机自启动该服务
 
  disable 关闭开机自启动
 
  下面通过案例来学习
 
  # 查看服务运行状况
 
  # systemctl status atd
 
  ● atd.service - Job spooling tools
 
     Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
 
     Active: active (running) since Sat 2020-11-07 16:20:59 CST; 3 days ago
 
   Main PID: 3002 (atd)
 
     CGroup: /system.slice/atd.service
 
             └─3002 /usr/sbin/atd -f
 
  Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Started Job spooling tools.
 
  Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Starting Job spooling tools...
 
  通过上面显示的信息,我们可以获取很多信息。从第二行Loaded,出现了enabled表示该服务开机自启动。从第三行的running得知该服务正在运行中。
 
  下面再来演示关闭、启动服务
 
  # systemctl stop atd
 
  # systemctl start atd
 
  关于服务的运行状况,除了常见的running、dead等,还有一些,下面列出
 
  active(running) 正在运行
 
  active(waiting):等待执行(等其他服务执行后,再执行)
 
  active(exited):仅执行一次就正常结束的服务
 
  inactive(dead):服务未启动
 
  另外,关于服务开机是否启动也有几个选项:
 
  enable :开机启动
 
  disable:开机不启动
 
  static:开机不能自启动,但能被其他自启动的服务启动
 
  mask:无论如何也不会启动,该服务已被强制注销
 
  通过systemctl观察系统上服务
 
  通过systemctl可以查看目前有哪些服务正在运行,也可以查看系统上所有的服务(包括未启动的),还可以查看某一类型的服务。
 
  list-units 列出当前所有启动的服务,若没有使用任务选项,则默认使用该选项。加上-a则显示所有,包括未启动的服务
 
  --type=TYPE 列出某一类型的服务
 
  下面看演示内容
 
  # 列出系统所有正在运行的服务
 
  # systemctl
 
    UNIT                                                     LOAD      ACTIVE SUB       DESCRIPTION
 
    proc-sys-fs-binfmt_misc.automount                        loaded    active running   Arbitrary Executable File Formats File System Automoun
 
    sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device loaded    active plugged   Virtio network device
 
    sys-devices-pci0000:00-0000:00:04.0-virtio1-virtio\x2dports-vport1p1.device loaded    active plugged   /sys/devices/pci0000:00/0000:00:04.
 
    ……
 
  # 列出系统正在运行的service类型的服务
 
  # systemctl --type=service
 
     UNIT                               LOAD      ACTIVE SUB     DESCRIPTION
 
    aegis.service                      loaded    active running LSB: aegis update.
 
    aliyun.service                     loaded    active running aliyun-assist
 
    atd.service                        loaded    active running Job spooling tools
 
    auditd.service                     loaded    active running Security Auditing Service
 
  # 列出系统上所有服务,包括未运行的
 
  # systemctl -a
 
  ……
 
  通过systemctl管理不同的操作环境(target unit)
 
  在centos7中,有非常多个target unit,但这里我们只要知道几个常用的target unit,下面列出常用的target unit:
 
  graphical.target 图形模式
 
  multi-user.target 文本模式
 
  rescue.target 一般救援模式
 
  emergency.target 紧急救援模式
 
  接下来再看如何查看系统默认的操作环境,以及如何去修改操作环境。
 
  systemctl [选项] [unit.target]
 
  [选项]
 
    get-default:查看系统默认操作环境
 
    set-default:设置系统默认操作环境
 
  # 查看默认的操作环境
 
  # systemctl get-default
 
  multi-user.target
 
  # 重新设置新的默认操作环境
 
  # systemctl set-default graphical.target
 
  Removed symlink /etc/systemd/system/default.target.
 
  Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
 
  # systemctl get-default
 
  graphical.target
 

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!