Linux Systemctl服务管理教程

嗨,今天我们将学习使用systemd或systemctl管理Linux服务。当Linux内核启动时,它加载驱动程序、装载文件系统、启动内存管理、创建系统调用等等,但在那之后呢?Linux启动一个init进程来创建更多的系统和用户服务和进程。为了管理系统服务,我们需要一个通常是系统化的工具。使用这些工具,我们可以设置服务的状态,查看它。此外,我们还可以更改装载和系统快照问题。但我们将只寻找服务管理方面。顺便说一下,服务是后台工作以完成其工作负载的守护进程。Apache、MySQL等都是服务。

Steam正版PC中文游戏 机甲战魔 DAEMON X MACHINA 小纯电玩
| 月销量24件
优惠价52.91元
原价¥55.7

淘口令:

¥VdMMXtGc2z4¥
 

图片[1]-Linux Systemctl服务管理教程-cppku-C++库 列出现有服务

要查看所有正在运行的服务,请运行systemctl命令。从输出systemctl列表中可以看到设备、tty、服务、文件和系统相关服务。

$ systemctl
List Existing Services
列出现有服务

使用systemctl命令打印/显示服务状态

要查看服务的状态,请使用systemctl status。您可以查看进程id流量信息、服务名称和最新日志。

$ systemctl status httpd
Print/Display Service Status
打印/显示服务状态

  • Loaded 是服务配置路径。
  • Active 在本例中,指定活动服务的状态,并提供服务启动的日期。
  • Docs 指定服务的文档名称。
  • Main PID 是服务主进程ID,即59634。
  • Status 是服务状态的人性化形式,在本例中为“Running,listening on:port80”。
  • Tasks 是总任务计数,在本例中为213。
  • Memory 是此服务的ram或内存使用量,在本例中为17.9 MB。
  • CGroup 是服务的安全组。

相关文章: 如何更改CentOS服务器/主机主机名?

使用systemctl命令启动服务

我们可以用 start 选项并提供要启动的服务名称。在本例中,我们将启动名为httpd的服务。

$ systemctl start httpd

使用systemctl命令停止服务

我们可以使用 stop 选择 systemctl 命令。在本例中,我们将停止名为 httpd 它被命名为 apache2 在里面  乌班图。

$ systemctl stop httpd

使用systemctl命令在引导时启动服务

要启用在启动时启动的服务,请使用systemctl enable httpd。它为当前初始化级别创建一个软链接,该级别是多用户的。

$ systemctl enable httpdln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

使用systemctl命令在引导时禁用服务启动

如果服务被启用,它将在引导期间自动启动。为了防止在引导期间启动服务,我们必须使用 disable 选项并提供服务名称。在本例中,我们将禁用名为httpd的服务。

$ systemctl disable httpdrm '/etc/systemd/system/multi-user.target.wants/httpd.service'

打印服务自动启动或启用状态

检查服务的启用状态。

$ systemctl is-enabled httpddisabled

在Linux和UNIX系统中,有两种运行级别是最常用的。运行级别是系统的状态,例如,如果您不需要图形界面,但需要多用户联网,则使用runlevel3或多用户运行级别,如果您需要GUI,则更改为运行级别5或图形。在这些运行级别中,相应的服务启动。首先,查看当前运行级别。

$ runlevelN 3

更改为当前的多用户运行级别

$ systemctl isolate multi-user.target$ runlevelN 3

更改为图形运行级别。

$ systemctl isolate graphical.target$ runlevel3 5

使用systemctl命令设置默认系统运行级别

更改默认开始运行级别或目标

$ systemctl set-default graphical.targetrm '/etc/systemd/system/default.target'ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target'$ systemctl set-default multi-user.targetrm '/etc/systemd/system/default.target'ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'

使用systemctl命令创建服务快照

要创建当前系统和服务状态的快照,请使用systemctl snapshot。这不是磁盘快照,只是服务快照。假设您启动了25个服务,并且不想一直这样做,您可以对此进行快照,然后轻松地调用快照。如果需要,可以在snapshot命令之后提供快照的名称

$ systemctl snapshotsnapshot-1.snapshot

使用systemctl命令将服务还原为快照

我们可以使用 isolate 命令如下。

$ systemctl isolate snapshot-1.snapshot

使用systemctl命令删除服务快照

可以使用删除现有快照 delete 选项。在本例中,我们将删除快照 snapshot-1.snapshot .

$ systemctl delete snapshot-1.snapshot

使用systemctl命令显示服务参数和详细信息

查看服务文件中的服务参数和详细信息。

$ systemctl show httpd
Show Service Parameters and Details
显示服务参数和详细信息

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享