要查看linux系统中服务运行状态,最常用的方法是使用systemctl命令。1. 查看具体服务状态可执行systemctl status ;2. 快速判断服务是否运行可用systemctl is-active ;3. 启动、停止和重启服务分别用sudo systemctl start/stop/restart ;4. 重载配置使用sudo systemctl reload (视服务支持情况);5. 设置开机自启用sudo systemctl enable ,取消自启则用sudo systemctl disable ;6. 查看所有服务状态列表使用systemctl list-units –type=service或加–all参数显示全部服务。掌握这些命令能有效管理系统服务,并应注意不同发行版的服务名称可能存在差异。
在linux系统中,查看服务运行状态最常用的方式就是使用 systemctl 命令。它是Systemd系统和服务管理工具的核心命令之一,不仅能用来查看服务状态,还能启动、停止、重启和管理各种系统服务。
查看服务状态的基本命令
要查看某个服务的当前状态,基本命令格式如下:
systemctl status <服务名>
比如你想查看 nginx 服务是否正在运行,可以执行:
systemctl status nginx
执行后会显示服务的状态信息,包括是否处于“active(运行中)”、“inactive(未运行)”或“failed(失败)”状态。同时还会显示最近的日志条目,有助于快速判断问题。
如果你只是想快速判断服务有没有运行,不想看到太多输出内容,可以用下面这个更简洁的命令:
systemctl is-active <服务名>
它只会返回 active、inactive 或 failed 等状态结果,适合脚本中使用。
启动、停止和重启服务
除了查看状态,systemctl 还能直接操作服务的启停:
-
启动服务:
sudo systemctl start <服务名>
-
停止服务:
sudo systemctl stop <服务名>
-
重启服务(适用于配置修改后):
sudo systemctl restart <服务名>
-
重载配置(不中断服务的情况下应用新配置):
sudo systemctl reload <服务名>
注意:并不是所有服务都支持 reload,具体要看服务本身是否提供了相关功能。
这些命令都非常直观,但在实际使用时要注意权限问题,通常都需要加上 sudo 才能执行。
设置开机自启动服务
有些服务我们希望在系统启动时就自动运行,这时候可以用以下命令设置开机自启:
sudo systemctl enable <服务名>
如果你不再需要某个服务随系统启动,可以取消自启:
sudo systemctl disable <服务名>
小提示:某些服务可能默认没有开启自启,比如安装完数据库或者Web服务器之后,记得手动启用,否则重启后服务不会自动运行。
查看所有服务状态列表
如果你想查看系统中所有服务的状态,可以使用:
systemctl list-units --type=service
这条命令会列出当前正在运行的服务。如果想看所有已安装的服务(不管现在有没有运行),可以加一个参数:
systemctl list-units --type=service --all
这样可以看到更多服务的信息,便于排查那些你认为应该运行但没运行的服务。
基本上就这些了。掌握这几个常用命令,就能轻松地用 systemctl 管理Linux下的服务状态。虽然看起来简单,但很多新手容易忽略的是,不同发行版可能会有细微差别,比如服务名称不一定完全一致,建议配合 systemctl list-units 多看看本地环境的实际服务名。