📅  最后修改于: 2023-12-03 14:52:25.234000             🧑  作者: Mango
在 Linux 系统中,服务是指在系统后台运行的程序。一些常见的服务包括 SSH、Apache、MySQL 等。在运行 Linux 服务器或个人电脑时,有时需要检查正在运行的服务以调试或维护服务。在本文中,我们将介绍如何在 Linux 中检查正在运行的服务。
要查看系统上运行的服务,可以使用 systemctl
命令。该命令可通过以下命令启动:
systemctl
运行命令后,将列出所有正在运行的服务及其状态。
UNIT LOAD ACTIVE SUB DESCRIPTION
accounts-daemon.service loaded active running Accounts Service
atd.service loaded active running Deferred execution scheduler
avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack
dbus.service loaded active running D-Bus System Message Bus
...
每个服务都有四个列,分别是 UNIT
、LOAD
、ACTIVE
和 SUB
。以下是这些列的详细说明:
UNIT
:服务名称和扩展名(.service)。该列中包括后缀的服务名称。
LOAD
:服务是否加载。如果显示为 loaded
,表示服务可用。如果显示为 masked
,表示服务被禁用。
ACTIVE
:服务的活动状态是否成功。如果显示为 active
,表示服务正在运行。如果显示为 inactive
,表示服务已停止。
SUB
:服务的活动细节。例如,running
表示服务正在运行,exited
表示服务已退出。
要检查正在运行的进程并查看资源使用情况,可以使用 top
命令。该命令可通过以下命令启动:
top
运行该命令后,会显示进程列表,其中包括正在运行的服务。
top - 11:47:45 up 2 days, 4:06, 1 user, load average: 0.00, 0.03, 0.06
Tasks: 232 total, 1 running, 231 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.4 us, 0.2 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 7981844 total, 2152888 free, 1032908 used, 4798048 buff/cache
KiB Swap: 2085884 total, 2085884 free, 0 used. 6398400 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1438 mysql 20 0 4615024 682544 17668 S 0.3 8.6 18:31.21 mysqld
5433 www-data 20 0 901744 197084 16308 S 0.3 2.5 0:00.40 apache2
59 root 20 0 0 0 0 I 0.1 0.0 0:22.12 kworker/4:1
4299 root 20 0 166100 3076 2452 R 0.1 0.0 0:00.04 top
...
在该列表中,可以通过命令名称或 PID 确认正在运行的服务。
在 Linux 中检查正在运行的服务可以使用 systemctl
命令和 top
命令。这些命令能够列出正在运行的服务,并且可以监视服务消耗的资源。这些命令是管理 Linux 系统的重要组成部分,因此了解并熟练使用这些命令对于系统管理员来说是必要的。