如何使用systemctl 和service 命令在 Debian 11 Bullseye 中启动、停止和重启服务

3,334 阅读4分钟

本教程介绍了如何使用systemctlservice 命令在 Debian 11 Bullseye 中启动、停止和重启服务。

Linux Debian 11中的服务

服务是一个在后台运行的程序,在需要时可以使用。Apache、ssh、Nginx或Mysql是一些最著名的服务。在 Debian 上,包括 Debian 11 Bullseye,服务是由 Systemd 管理的,它取代了 System V 来初始化系统和其组件,包括服务。

在 Debian 11 上使用 Systemd 启动、停止和重启服务

Systemd是一个管理Linux服务和守护程序的套件(最后一个 "d "是因为Unix守护程序)。systemctl命令允许启动、停止、重启和检查服务状态。其目的是统一所有Linux发行版的配置和行为,以取代旧的Unix SystemV和BSD init系统。

本教程部分展示了下表中描述的操作的执行实例。

行动命令
检查服务状态sudo systemctlstatus <服务名称>
停止一个服务sudo systemctlstop
启动一个服务sudo systemctlstart(服务名称 )。
重启一个服务sudo systemctl重启<服务名称>

如上表所示,使用Systemd检查一个服务的状态的语法如下。

systemctl status <Service-Name>

因此,要检查ssh服务的状态,你可以运行以下命令。

sudo systemctl status ssh

正如你在上面的截图中所看到的,ssh服务是激活的,并且正常运行。

要停止一个服务,语法类似,只需将status 选项替换为你想执行的操作,本例中的操作是停止

例如,要停止ssh服务,运行下面的命令。

sudo systemctl stop ssh

正如你所看到的,在停止服务并检查状态后,ssh服务现在显示为不活动(死亡)。

要启动一个服务,只需用start代替stop,如下图所示。要启动ssh服务,请运行。

sudo systemctl start ssh

如你所见,该服务又开始运行了。

要重新启动一个服务,你需要输入的选项是重启。下面的命令是用来重启ssh服务的。

sudo systemctl restart ssh

这就是使用Systemd重启服务的方法。

在 Debian 11 上使用 Service 命令停止、启动和重启服务

service命令用于管理/etc/init.d目录下的服务,尽管有些发行版将该命令重定向到之前解释过的systemctl命令。

这个命令也可以用来停止、启动和重启服务,其语法如下表所述。

动作命令
检查服务状态sudo service status
停止一个服务sudo service stop
启动一个服务sudo service start
重新启动一个服务sudo service restart

本节展示了上表中描述的命令的应用实例。

要使用service命令检查一个服务(本例中是ssh)的状态,请使用下面的语法。用你想检查的服务替换 "ssh"。

sudo service ssh status

正如你所看到的,ssh服务是活跃的,并且运行正常。

下面的截图中的命令是用来停止服务的。运行它来停止ssh服务,或者用你想停止的服务替换 "ssh"。

sudo service ssh stop

正如你所看到的,在运行service ssh stop后,ssh现在是不活跃的。

要重新启动ssh服务,使用下面的语法。记住用你想加载的服务替换 "ssh"。

sudo service ssh start

最后,要使用service命令重启服务,使用下面的语法。

sudo service ssh restart

正如你所看到的,服务正常运行。

下面的命令可以用来重新加载一个服务配置,而不中断服务本身。

sudo service ssh reload

总结

服务是任何设备的一个重要组成部分。正确地管理服务是任何一个Linux级别的用户所必须的。正如你在本教程中所看到的,管理服务是相当简单的,可以通过不同的方法来完成。请记住,在Linux中处理服务的推荐方法是本文第一节中解释的systemctl命令。其他方法(比如直接处理/etc/init.d目录)被认为是过时的,已经从本教程的第一个版本中删除。本教程中解释的所有命令对停止、启动、重启和检查服务状态都很有用,但还有一些额外的功能,你可以在它们各自的手册页上学习。