📅  最后修改于: 2023-12-03 15:24:52.696000             🧑  作者: Mango
在 Ubuntu 操作系统中,有很多的服务在后台运行着。有时候,我们需要知道这些服务的状态和信息,以便进行系统管理和调试。本文将介绍如何通过 shell/bash 命令行方式,查询 Ubuntu 中的工作服务。
要查看 Ubuntu 中的服务状态,我们可以使用 systemctl
命令。该命令会列出所有正在运行的服务并显示它们的状态。以下是示例命令:
systemctl status
该命令输出的结果将包含所有正在运行的服务及其状态,如下所示:
● systemd-journald.service - Journal Service
Loaded: loaded (/lib/systemd/system/systemd-journald.service; static; vendor preset: enabled)
Active: active (running) since Mon 2021-10-18 09:27:03 UTC; 36s ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Main PID: 930 (systemd-journal)
Status: "Processing requests..."
Tasks: 1 (limit: 3803)
Memory: 7.6M
CGroup: /system.slice/systemd-journald.service
└─930 /lib/systemd/systemd-journald
Oct 18 09:27:03 ubuntu systemd-journald[930]: Received request to flush runtime journal from PID 1
Oct 18 09:27:03 ubuntu systemd-journald[930]: Flush runtime journal successfully
...
其中,服务的状态就显示在 Active:
一行之中。常见的状态包括:
● active (running)
:表示服务正在运行中。● inactive (dead)
:表示服务已经停止运行。● enabled
:表示开机自动启动的服务。● disabled
:表示开机自动不启动的服务。如果我们想查看系统中所有服务及其状态,可以使用 systemctl list-units
命令。该命令将列出所有服务及其状态。
systemctl list-units --type=service
输出结果中包含了所有正在运行或已经停止的服务及其状态。示例命令输出如下:
...
open-ssh.service loaded active running OpenBSD Secure Shell server
php.service loaded active running LSB: start and stop for the PHP FastCGI Process Manager
postfix.service loaded active running Postfix Mail Transport Agent
redis-server.service loaded active running Advanced key-value store
rpcbind.service loaded active running RPC bind portmap service
rpc-gssd.service loaded active running RPC security service for NFS client and server
rpc-statd-notify.service loaded inactive dead Notify NFS peers of a restart
rpc-statd.service loaded active running NFS status monitor for NFSv2/3 locking.
rsyslog.service loaded active running System Logging Service
...
如果只想查看所有启用了的服务,可以使用以下命令:
systemctl list-unit-files --state=enabled --type=service
该命令将列出所有开关机自动启用的服务。示例命令输出如下:
...
nginx.service enabled
ondemand.service enabled
php-fpm.service enabled
redis-server.service enabled
rsyslog.service enabled
saslauthd.service enabled
ssh.service enabled
timers.target enabled
tlp.service enabled
ufw.service enabled
unattended-upgrades.service enabled
user@999.service enabled
zabbix-agent2.service enabled
要启动、停止或重启某个服务,可以使用以下命令:
# 启动服务
sudo systemctl start <service-name>
# 停止服务
sudo systemctl stop <service-name>
# 重启服务
sudo systemctl restart <service-name>
以上命令中,<service-name>
为服务的名称。例如,启动 nginx 服务的命令:
sudo systemctl start nginx
要开机启动某个服务,可以使用以下命令:
sudo systemctl enable <service-name>
例如,设置 nginx 服务为开机启动的命令:
sudo systemctl enable nginx
如果要禁止某个服务的开机启动,可以使用以下命令:
sudo systemctl disable <service-name>
通过本文介绍的方法,您可以方便地查询 Ubuntu 中的工作服务,了解服务状态和配置服务开关机自启动。这将有助于您进行系统管理和调试。