4-8 Linux 服务控制 --- systemctl

一、概念梳理:

1、systemd:所有进程的父进程(Linux内核 3.0以上版本),通过 pstree 显示系统中的进程树,可以看到 systemd 是第一个。

2、systemctl:服务控制命令。用户管理各类型的 systemd 对象,这些对象称之为:单元。这些对象可以是:.service(服务单元)、.socket(套接字)、.path(路径单元)。其中最为常用.service(服务单元)。

3、ssh:远程协议,可以让远程主机通过网络访问 sshd 服务,开始一个安全shell,并对其进行操控。

4、sshd:一个服务,允许远程主机通过网络连接到服务器中使用 shell 的服务。

5、守护进程是一个在后台运行并且不受任何终端控制的进程。它们执行不同的管理任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。有一些只在需要的时候才启动,完成任务后就自动结束。


二、服务控制命令

1、status:查看服务状态。

2、start:启动服务。

3、stop:暂停服务。

4、restart:重启加载服务。

5、 reload:重新加载服务配置文件(进程暂停,然后把配置文件加载进去后,继续执行后续操作。进程的 PID 不会发生变化。start、restart PID 会发生改变。)

6、 enable:设置开机自启服务。

7、 disable:设置开机不自启服务。


三、通过 sshd 服务做实验。

1、status:查看服务状态。

systemctl status sshd.service 查看 sshd 的服务状态(.service 可以省略,效果一样。)

红色下划线:sshd.service - OpenSSH server daemon 是一个守护进程。

黄色下划线:系统服务初始化完成,配置已加载

/usr/lib/systemd/system/sshd.service; enabled; —— sshd 服务开机自启(enabled:启动、disabled:开机不启动、static:无法启动,依赖于某个服务才能启动。)。

vendor preset: enabled —— 厂家预设:启动。

蓝色下划线:active (running) —— 正在运行

atcive(exited)—— 仅执行一次就正常结束的服务, 目前并沒有任何程序在系統中执行。在操作系统中,有某些服务只需要初始化一下就可以了;不需要在服务器中启动一个守护进程。这种服务初始化完成后就直接退出,其服务的状态就是 active(exited)。

active(waiting) —— 运行中,但正在等待事件才能继续。

Inactive—— 不在运行。

绿色下划线:PID 进程 ID 和 执行的命令、参数。


2、stop:暂停服务。

1)、暂停服务前先 systemctl status sshd 查看一下 sshd 的 PID,是 952。

2)、(1)、红色下划线:systemctl stop sshd 暂停 sshd 服务。

(2)、黄色下划线:systemctl status sshd 查看 sshd 的服务状态。此时,Active: inactive (dead) 不运行。

(3)、暂停了 sshd 服务,已经连接上 sshd 服务的远程终端(Xshell)可以继续运行。tail 和 ls 都可以继续操作系统。

(4)、但重新建立一个远程连接则失败,无法连接。


3、start:启动服务。

1)、暂停了的 sshd 服务 PID 是 952(蓝色下划线)。

2)、(1)、红色下划线:systemctl start sshd 启动 sshd 服务

(2)、黄色下划线:systemctl status sshd:查看 sshd 的服务状态。Active: active (running) 正在运行。PID变成了 1381。

(3)、重新启动的 sshd 服务,Xshell 已经可以远程连接登录。

tips:暂停了服务再启动服务 PID 会改变。


4、restart:重启加载服务。

1)、现在 sshd 的 PID 是 1381。

2)、(1)、红色下划线:systemctl restart sshd 重启加载 sshd 服务。

(2)、黄色下划线:systemctl status sshd 查看 sshd 的服务状态。Active: active (running) 正在运行。PID变成了 1435。

tips:重启加载服务 PID 会改变。


5、 reload:重新加载服务配置文件。

1)、现在 sshd 的 PID 是 1435。

2)、(1)、红色下划线:systemctl reload sshd 重新加载 sshd 服务配置文件。

(2)、黄色下划线:systemctl status sshd 查看 sshd 的服务状态。Active: active (running) 正在运行。PID还是 1435,没有改变。

tips:重新加载服务配置文件 PID 不会改变。


6、 disable:设置开机不自启服务。

1)、sshd 服务现在的开机启动状态是 enabled (启动状态)。

2)、(1)、红色下划线:systemctl disable sshd:设置开机不自启服务。

(2)、黄色下划线:提示删除 sshd.service 符号链接。

(3)、蓝色下划线:开机自启项变为 disabled:开机不启动。

3)、重启 linux 系统,试试设置了 sshd 开机不自启的情况下,Xshell 能不能远程连接。

4)、(1)、Linux 已经重启进入系统。由于设置开机不自启 sshd 服务,显然的重启后的 Linux,Xshell 不能远程连接。

(2)、Linux 上用 systemctl status sshd 查看 sshd 的服务状态。Active:inactive(dead)不运行。

(3)、只能手动开启 sshd 服务,Xshell 才能远程连接。


7、 enable:设置开机自启服务。

1)、红色下划线:disabled 开机不自启 sshd 服务。

2)、(1)、红色下划线:systemctl enable sshd 设置 sshd 服务开机自启。Created symlink 创建符号连接。

(2)、systemctl status sshd 查看 sshd 的服务状态,disabled 改为 enabled 开机自启。此时,开机时 sshd 服务都会自动启动。


systemctl list-units:列出已经开启的服务状态。有很多内容,需要翻页。

众多内容当中,可以找到例子里的 sshd 服务。

也可以通过 systemctl list-units | grep sshd 只列出 sshd 的服务状态。


systemctl list-unit-files:列出所有服务开机启动的状态。有很多内容,需要翻页。

同样,在众多内容当中,也可以找到例子里的 sshd 服务。enabled 开机自启的状态。

也可以通过 systemctl list-unit-files | grep sshd 只列出 sshd 的开机启动的状态。


tips:红帽 5 和 6 查看服务状态是:Service sshd status。

开机自启是:Chkconfig ssh on/off。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • DAY27 一、知识点回顾 1、网络? 1、 传输介质 2、 硬件 2、两台主机之间进行通信? 3、交换网...
    chloepang阅读 3,258评论 0 0
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 10,048评论 0 16
  • set命令 显示、设置或取消设置shell属性和位置参数的值。 显示shell变量的名称和值:set 标记为导出而...
    zhouwude阅读 1,778评论 0 0
  • 识别自动启动的系统进程 目标 完成这一部分后,你能够列出由systemd服务和socket单元启动的系统守护进程和...
    Hi_小熊阅读 4,095评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,772评论 28 53

友情链接更多精彩内容