如何在 Ubuntu 和其他 Linux 发行版中启动、停止和重新启动服务

服务是必不可少的后台进程,通常在操作系统启动和关闭时运行。

如果您是系统管理员,您将定期处理该服务。

如果您是普通桌面用户,您可能会遇到需要重新启动服务,例如设置 Barrier 以在计算机之间共享鼠标和键盘。 或者当您使用 ufw 设置防火墙时。

今天,我将向您展示管理服务的两种不同方式。 您将学习在 Ubuntu 或任何其他 Linux 发行版中启动、停止和重新启动服务。

系统与初始化

如今,Ubuntu 和许多其他发行版都使用 systemd 而不是旧的 init。

在 systemd 中,您使用 systemctl 命令管理服务。

在 init 中,您使用 service 命令管理服务。

您会注意到,即使您的 Linux 系统使用 systemd,它仍然可以使用 service 命令(旨在与 init 系统一起使用)。 这是因为服务命令实际上是重定向到 systemctl。 这是 systemd 引入的一种向后兼容性,因为系统管理员习惯于使用 service 命令。

我将在本教程中同时展示 systemctl 和 service 命令。

我在这里是 Ubuntu 18.04,但是其他版本的过程(没有双关语)是相同的。

方法一:在 Linux 中使用 systemd 管理服务

我从 systemd 开始是因为它被广泛采用的明显原因。

1.列出所有服务

为了管理服务,您首先需要知道您的系统上有哪些服务可用。

您可以使用 systemd 命令列出 Linux 系统上的所有服务:

systemctl list-unit-files --type service -all

该命令将输出所有服务的状态。 服务状态的值可以是启用、禁用、屏蔽(在取消设置屏蔽之前处于非活动状态)、静态和生成。

将其与 grep 命令 你可以 只显示正在运行的服务

sudo systemctl | grep running

既然您知道如何引用所有不同的服务,您就可以开始主动管理它们了。

笔记: 名称> 命令中的应替换为您希望管理的服务的名称(例如 network-manager、ufw 等)。

2.开始一个 服务

要在 Linux 中启动服务,您只需要使用它的名称,如下所示:

systemctl start <service-name>

3. 停止 一项服务

要停止 systemd 服务,可以使用 systemctl 命令的 stop 选项:

systemctl stop <service-name>

4.重新开始 一项服务

要使用 systemd 在 Linux 中重新启动服务,您可以使用:

systemctl restart <service-name>

5. 检查服务状态

您可以通过打印服务状态来确认您已成功执行某个操作:

systemctl status <service-name>

这将通过以下方式输出信息:

系统控制状态

那是系统化的。 现在让我们切换到init。

方法二:Linux中使用init管理服务

init中的命令也和system一样简单。

1.列出所有服务

要列出所有 Linux 服务,请使用

service --status-all

之前的服务 [ – ]禁用 和那些有 [ + ]启用.

2.开始 一项服务

要在 Ubuntu 和其他发行版中启动服务,请使用以下命令:

service <service-name> start

3.停止 一项服务

停止服务同样容易。

service <service-name> stop

4.重新开始 一项服务

如果要重启服务,命令是:

service <service-name> restart

5. 检查服务状态

此外,为了检查您的预期结果是否达到,您可以输出服务 地位

service <service-name> status

这将通过以下方式输出信息:

最重要的是,这将告诉您某个服务是否处于活动状态 (跑步) 或不。

包起来

今天我详细介绍了在 Ubuntu 或任何其他 Linux 系统上管理服务的两种非常简单的方法。 我希望这篇文章对你有所帮助。

你更喜欢哪种方法? 在下面的评论部分让我们知道!