📌  相关文章
📜  如何在 linux 中检查正在运行的服务 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:52:25.234000             🧑  作者: Mango

如何在 Linux 中检查正在运行的服务

在 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
...

每个服务都有四个列,分别是 UNITLOADACTIVESUB。以下是这些列的详细说明:

  • 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 系统的重要组成部分,因此了解并熟练使用这些命令对于系统管理员来说是必要的。