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 #查看系统启动耗时