Linux系统服务控制(systemd的运行级别以及systemctl命令)

Linux系统服务控制

一、系统服务控制

  • 格式:
systemctl 控制类型 服务名称
  • 控制类型
    start:启动
    stop:停止
    restart:重新启动
    reload:重新加载
    status:查看服务状态
    ……

二、Linux系统的运行级别

1.查看运行级别

runlevel 命令    #runlevel只能查看切换运行级别与当前运行级别
systemctl 工具   #systemctl能查看默认的运行级别

2.运行级别所对应的Systemd目标

运行级别 Systemd的target 说明
0 target 关机状态,使用该级别时将会关闭主机
1 rescue.target 单用户模式,不需要密码验证即可登录系统,多用于系统维护
2 multi-user.target 用户定义 / 域特定运行级别。默认等同于3
3 multi-user.target 字符界面的完整多用户模式,大多数服务器主机运行在此级别
4 multi-user.target 用户定义 / 域特定运行级别。默认等同于3
5 graphical.target 图形界面的多用户模式,提供了图形桌面操作环境
6 reboot.target 重新启动,使用该级别时将会重启主机

1)runlevel命令

[root@localhost ~] # runlevel #查看运行级别
N 5   #N(none)代表之前的运行状态,5代表当前运行状态

2)systemctl命令

各个级别对应的可用命令

init 0 systemctl isolate poweroff.target systemctl poweroff poweroff
init 1 systemctl isolate rescue.target ----- -----
init 2 systemctl isolate multi-user.target ----- -----
init 3 systemctl isolate multi-user.target ----- -----
init 4 systemctl isolate multi-user.target ----- -----
init 5 systemctl isolate graphical.target ----- -----
init 6 systemctl isolate reboot.target systemctl reboot reboot
  • 查看系统默认的运行级别

    systemctl get-default      #查看系统默认运行级别
    
[root@localhost ~] # systemctl get-default #查看系统默认运行级别
graphical.target #默认运行级别为init 5即图形界面
  • 设置永久运行级别

    ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
    或                                           ##————设置永久运行级别
    systemctl set-default multi-user.target
    

方法一:

[root@localhost ~] # ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
[root@localhost ~] # systemctl get-default
multi-user.target

方法二:

[root@localhost ~] # 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.
[root@localhost ~] # systemctl get-default
graphical.target

三、优化启动过程

1.ntsysv工具

提供一个交互式、可视化窗口
可以在字符终端运行
便于集中管理多个服务
用于控制服务是否开机自启动

Xshell界面输入ntsysv回车,进入下图界面

在这里插入图片描述

即可进入可视化窗口,自己按需选择开机自启服务(上下键选择,空格键开启或关闭,tab键切换确定或取消回车返回Xshell界面)

2.验证服务是否开启方法

systemctl is-enabled [服务名称]    #查看系统服务启动状态
例:systemctl is-enabled firewalld.service   
[root@localhost ~] # systemctl is-enabled firewalld.service
disabled #防火墙是未开启状态,开启时是enabled

3.systectl工具

  • 不提供交互式、可视化窗口
  • 管理单个服务效率更高
systemctl enable [服务名称]      #开启开机自启动
systemctl disable [服务名称]     #关闭开机自启动

例:

[root@localhost ~] # systemctl enable firewalld.service 
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@localhost ~] # systemctl is-enabled firewalld.service 
enabled
[root@localhost ~] # systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~] # systemctl is-enabled firewalld.service 
disabled

相关补充:

hostnamectl set-hostname  (新名称)#永久修改主机名

hostnamectl status  #查看主机名的状态

localectl set-locale LANG=zh_CN.utf8 #设置系统语言为中文

localectl [status]  #查看当前系统使用的语言

systemd-analyze  #查看系统启动耗时

改主机名

hostnamectl status #查看主机名的状态

localectl set-locale LANG=zh_CN.utf8 #设置系统语言为中文

localectl [status] #查看当前系统使用的语言

systemd-analyze #查看系统启动耗时


猜你喜欢

转载自blog.csdn.net/qq_35456705/article/details/111872913