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发行版,但可能存在一些差异,具体请参考相应的发行版文档。