停止、启动和重新启动 Debian 上的服务
本教程介绍如何使用 systemctl 和 service 命令在 Debian 11 Bullseye 中启动、停止和重新启动服务。
Linux Debian 11 上的服务
服务是在后台运行并在需要时使用的程序。 Apache、ssh、Nginx 或 Mysql 是一些最知名的服务。在 Debian 上,包括 Debian 11 Bullseye,服务由 Systemd 管理,Systemd 取代了 System V 来初始化系统及其组件,包括服务。
使用 Systemd 在 Debian 11 上启动、停止和重新启动服务
Systemd 是一个管理 Linux 服务和守护进程的套件(最后一个“d”是因为 Unix 守护进程)。 systemctl 命令允许启动、停止、重新启动和检查服务状态。其目标是统一所有 Linux 发行版的配置和行为,以取代旧的 Unix SystemV 和 BSD init 系统。
本教程部分显示了下表中描述的操作的执行示例。
- Stop a service
sudo systemctl 停止<服务名称>
- Start a service
sudo systemctl start <服务名称>
- Restart a service
sudo systemctl 重新启动<服务名称>
如上表所示,使用 Systemd 检查服务状态的语法如下:
因此,要检查 ssh 服务的状态,您可以运行以下命令。
正如您在上面的屏幕截图中看到的,ssh 服务处于活动状态并且正常运行。
要停止服务,语法类似,只需将 status 选项替换为您要执行的操作,在本例中,操作是停止。
例如,要停止 ssh 服务,请运行以下命令。
如您所见,停止服务并检查状态后,ssh 服务现在显示为不活动(死亡)。
要启动服务,只需将 stop 替换为 start 即可,如下面的屏幕截图所示。要启动 ssh 服务,请运行:
如您所见,服务再次运行。
要重新启动服务,您需要键入的选项是重新启动。以下命令用于重新启动 ssh 服务。
这就是使用 Systemd 重新启动服务的方式。
您可以在 https://systemd.io/ 获取有关 Systemd 的更多信息。
使用 Service 命令在 Debian 11 上停止、启动和重新启动服务
service 命令用于管理 /etc/init.d 目录下的服务,尽管某些发行版将该命令重定向到前面解释的 systemctl 命令。
此命令还可用于按照下表中描述的语法停止、启动和重新启动服务。
- Stop a service
sudo service <服务名称> 停止
- Start a service
sudo service <服务名称> 启动
- Restart a service
sudo service <服务名称> 重新启动
本节显示上表中描述的命令的应用示例。
要使用 service 命令检查服务(在本例中为 ssh)的状态,请使用下面所示的语法。将“ssh”替换为您要检查的服务。
可以看到,ssh 服务已激活并且运行正常。
下面屏幕截图中显示的命令用于停止服务。运行它来停止 ssh 服务,或将“ssh ”替换为您要停止的服务。
如您所见,运行 service ssh stop 后,ssh 现在处于非活动状态。
要重新启动 ssh 服务,请使用以下语法。请记住将“ssh”替换为您要加载的服务。
最后,要使用 service 命令重新启动服务,请使用以下语法。
可以看到,服务运行正常。
以下命令可用于重新加载服务配置,而无需中断服务本身。
您可以在 https://linux.die.net/man/8/service 获取有关 service 命令的更多信息。
结论
服务是任何设备的重要组成部分。正确管理服务对于任何 Linux 级别的用户来说都是必须的。正如您在本教程中看到的,管理服务非常简单,可以通过不同的方法来完成。请始终记住,在 Linux 中处理服务的推荐方法是本文第一部分中解释的 systemctl 命令。其他方法(例如直接处理 /etc/init.d 目录)被认为已过时,并已从本教程的第一个版本中删除。本教程中解释的所有命令对于停止、启动、重新启动和检查服务状态都很有用,但是您可以在各自的手册页上了解其他功能。
感谢您阅读本教程,解释如何在 Debian 11 上停止、启动和重新启动服务。请继续关注我们,获取更多 Linux 提示和教程。