服务是必不可少的后台进程,通常在操作系统启动和关闭时运行。
如果您是系统管理员,您将定期处理该服务。
如果您是普通桌面用户,您可能会遇到需要重新启动服务,例如设置 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 系统上管理服务的两种非常简单的方法。 我希望这篇文章对你有所帮助。
你更喜欢哪种方法? 在下面的评论部分让我们知道!