Linux查看服务列表
在Linux系统中,服务是指在后台运行的程序,用于提供特定功能或服务。在管理和维护系统时,经常需要查看系统中正在运行的服务列表,以便进行监控、调试和管理。本文将介绍在Linux系统中如何查看服务列表的方法。
使用systemctl命令查看服务列表
systemctl是一个管理系统服务的工具,可以使用它来查看系统中正在运行的服务列表。可以通过以下命令查看所有正在运行的服务:
systemctl list-units --type=service
该命令将列出所有正在运行的服务,包括服务名称、状态、描述和相关信息。下面是一个示例输出:
UNIT LOAD ACTIVE SUB DESCRIPTION
accounts-daemon.service loaded active running Accounts Service
acpid.service loaded active running ACPI event daemon
anacron.service loaded active exited Run anacron jobs
apparmor.service loaded active exited Load AppArmor profiles
apt-daily-upgrade.service loaded active exited Daily apt upgrade and clean...
apt-daily.service loaded active exited Daily apt download activities
atd.service loaded active running Deferred execution scheduler
在输出中,列出了每个服务的名称、加载状态、活动状态、子状态和描述信息。通过这些信息,可以了解服务的运行状态和相关信息。
使用service命令查看服务列表
除了使用systemctl命令外,也可以使用service命令来查看服务列表。可以通过以下命令来列出所有正在运行的服务:
service --status-all
该命令会列出所有系统服务,并显示它们的运行状态,例如[ + ]表示正在运行的服务,而[ – ]表示停止的服务。下面是一个示例输出:
[ + ] acpid
[ ? ] anacron
[ + ] apache2
[ + ] apparmor
[ + ] atd
[ ? ] avahi-daemon
[ + ] bluetooth
[ - ] console-setup
[ + ] cron
[ + ] cups
通过service命令的输出,可以快速了解系统中正在运行的服务以及它们的状态。
查看特定服务的状态和信息
除了查看所有服务列表外,有时候需要查看特定的服务的状态和相关信息。可以使用systemctl和service命令来查看单个服务的详细信息。
使用systemctl命令查看特定服务
可以通过以下命令使用systemctl查看特定服务的状态和信息,例如查看SSH服务的状态:
systemctl status sshd.service
该命令将显示SSH服务的当前状态、描述信息和最近的日志信息。下面是一个示例输出:
● sshd.service - OpenSSH Daemon
Loaded: loaded (/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-03-21 10:15:33 UTC; 2 days ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 1234 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 5678 (sshd)
Tasks: 1 (limit: 4567)
Memory: 20.0M
CGroup: /system.slice/sshd.service
└─5678 /usr/sbin/sshd -D
Mar 21 10:15:33 ubuntu systemd[1]: Starting OpenSSH Daemon...
Mar 21 10:15:33 ubuntu systemd[1]: Started OpenSSH Daemon.
在输出中,显示了SSH服务的加载状态、活动状态、描述信息、主进程ID、内存使用情况以及最近的日志信息。
使用service命令查看特定服务
使用service命令也可以查看特定服务的状态和信息,例如查看Nginx服务的状态:
service nginx status
该命令会显示Nginx服务的当前状态和相关信息。下面是一个示例输出:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-03-21 10:20:44 UTC; 2 days ago
Docs: man:nginx(8)
Process: 1234 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 5678 (nginx)
Tasks: 3 (limit: 4567)
Memory: 30.0M
CGroup: /system.slice/nginx.service
├─5678 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─5679 nginx: worker process
└─5680 nginx: worker process
Mar 21 10:20:44 ubuntu nginx[1234]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 21 10:20:44 ubuntu systemd[1]: Started The nginx HTTP and reverse proxy server.
在输出中,显示了Nginx服务的加载状态、活动状态、描述信息、主进程ID、内存使用情况以及最近的日志信息。
总结
在Linux系统中查看服务列表是管理系统的重要操作之一。使用systemctl和service命令可以轻松查看系统中正在运行的服务列表以及特定服务的状态和信息。通过查看服务列表,可以及时监控系统运行状态、调试故障和进行系统管理。