Linux查看所有服务的方法

Linux查看所有服务的方法

Linux查看所有服务的方法

Linux是一种非常流行的操作系统,广泛用于服务器端和嵌入式设备。在Linux系统中,有许多服务在后台运行,为用户提供各种功能和服务。如果你想了解系统中所有运行的服务,本文将详细介绍几种常用的方法。

1. 使用systemctl命令

systemctl是Linux系统中管理系统服务的工具,可以用来启动、停止、重启和查看服务的状态。要查看所有正在运行的服务,可以运行以下命令:

systemctl list-units --type=service --state=running

该命令将列出所有正在运行的服务的详细信息,包括服务名称、加载状态和服务描述等。下面是一个示例输出:

  UNIT                       LOAD   ACTIVE     SUB       DESCRIPTION
  accounts-daemon.service    loaded active     running   Accounts Service
  apache2.service            loaded active     running   The Apache HTTP Server
  avahi-daemon.service       loaded active     running   Avahi mDNS/DNS-SD Stack
  cron.service               loaded active     running   Regular background program processing daemon
  ...

2. 使用service命令

service命令是一个通用的服务管理命令,可以用来启动、停止和重启服务。要查看所有正在运行的服务,可以运行以下命令:

service --status-all | grep +

该命令将列出所有正在运行的服务,以加号(+)标记,非正在运行的服务则以减号(-)标记。下面是一个示例输出:

 [ + ]  apache2
 [ + ]  cron
 [ - ]  dbus
 [ + ]  networking
 [ - ]  nfs-common
 ...

3. 查看/etc/init.d目录

在Linux系统中,所有的服务脚本文件通常存储在/etc/init.d目录下。要查看所有服务的列表,可以简单地列出该目录下的所有文件。运行以下命令:

ls /etc/init.d/

该命令将列出所有的服务脚本文件,每个文件代表一个服务。下面是一个示例输出:

acpid             ippusbxd              ondemand               sddm              
alsa-utils        irqbalance            openvpn                setvtrgb          
anacron           iscsid                os-prober              single            
apparmor          kerneloops            plymouth               smartmontools     
apparmor-load     killprocs             pm-utils               speech-dispatcher  
...

4. 使用ps命令

ps命令用于查看系统中正在运行的进程。虽然ps命令主要用于查看进程,但也可以用来查看正在运行的服务。运行以下命令:

ps aux | grep "sbin/"

该命令将列出所有包含”sbin/”的进程,通常服务相关的进程路径中都包含该关键字。下面是一个示例输出:

root         1  0.0  0.2 168964  2212 ?        Ss   Oct03   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Oct03   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   Oct03   0:00 [rcu_gp]
root         4  0.0  0.0      0     0 ?        I<   Oct03   0:00 [rcu_par_gp]
...

5. 使用top命令

top命令用于实时监视系统的性能和进程活动。虽然top命令主要用于监视系统资源的使用情况,但也可以用来查看正在运行的服务。运行以下命令:

top

然后按下”Shift+p”键,top命令将按CPU使用率对进程进行排序,并将最高的进程显示在顶部。通常,运行服务的进程将具有较高的CPU使用率。下面是一个示例输出:

top - 21:50:21 up 100 days,  3:21,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 103 total,   1 running, 102 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.1 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4045264 total,  1080256 free,   980340 used,  1984668 buff/cache
KiB Swap:  2097148 total,  2058972 free,    38176 used.  2797356 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND      
 1729 mysql     20   0 1112668  18656   5964 S   0.3  0.5   3:29.81 mysqld
 3160 www-data  20   0  179048  18260   5452 S   0.3  0.5   0:00.58 apache2      
 3188 www-data  20   0  179048  18256   5448 S   0.3  0.5   0:01.99 apache2      
...

通过分析CPU使用率,可以找到运行服务的进程。

到此为止,我们已经介绍了几种常用的方法来查看Linux系统中所有运行的服务。无论你选择使用哪种方法,都可以轻松地获取正在运行的服务的信息,以便于系统管理和故障排除。

注意:本文所述命令适用于大多数Linux发行版,但可能存在一些差异,具体请参考相应的发行版文档。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程