当前位置: 代码网 > 服务器>服务器>Linux > 在Linux系统中查看所有正在运行服务的方法小结

在Linux系统中查看所有正在运行服务的方法小结

2024年07月18日 Linux 我要评论
前言大多数 linux 管理员会在 system v(sysv)初始化系统中使用 service service-name status 或 /etc/init.d/service-name stat

前言

大多数 linux 管理员会在 system v(sysv)初始化系统中使用 service service-name status 或 /etc/init.d/service-name status,而在 systemd 初始化系统中使用 systemctl status service-name。

以上命令可以清楚地显示该服务是否在服务器上运行,这也是每个 linux 管理员都该知道的非常简单和基础的命令。

如果你对系统环境并不熟悉,也不清楚系统在运行哪些服务,你会如何检查?

是的,我们的确有必要这样检查一下。这将有助于我们了解系统上运行了什么服务,以及哪些是必要的、哪些需要被禁用。

init(初始化的简称)是在系统启动期间运行的第一个进程。init 是一个守护进程,它将持续运行直至关机。

大多数 linux 发行版都使用如下的初始化系统之一:

1.system v 是更老的初始化系统。

2.upstart 是一个基于事件的传统的初始化系统的替代品。

3.systemd 是新的初始化系统,它已经被大多数最新的 linux 发行版所采用。

什么是 system v(sysv)

sysv(意即 system v) 初始化系统是早期传统的初始化系统和系统管理器。由于 sysvinit 系统上一些长期悬而未决的问题,大多数最新的发行版都适用于 systemd 系统。

什么是 upstart 初始化系统

upstart 是一个基于事件的 /sbin/init 的替代品,它控制在启动时的任务和服务的开始,在关机时停止它们,并在系统运行时监控它们。

它最初是为 ubuntu 发行版开发的,但其是以适合所有 linux 发行版的开发为目标的,以替换过时的 system-v 初始化系统。

什么是 systemd

systemd 是一个新的初始化系统以及系统管理器,它已成为大多数 linux 发行版中非常流行且广泛适应的新的标准初始化系统。systemctl 是一个 systemd 管理工具,它可以帮助我们管理 systemd 系统。

方法一、在 system v(sysv)系统中查看运行的服务

以下命令可以帮助我们列出 system v(sysv) 系统中所有正在运行的服务。

如果服务很多,我建议使用文件查看命令,如 less、more 等,以便得到清晰的结果。

# service --status-all

或:

# service --status-all | more

或:

# service --status-all | less

在linux系统中查看所有正在运行的服务

执行以下命令,可以只查看正在运行的服务:

# service --status-all | grep running

在linux系统中查看所有正在运行的服务

运行以下命令以查看指定服务的状态:

# service --status-all | grep httpd

httpd (pid 627) is running...

或者使用以下命令也可以查看指定服务的状态:

# service httpd status

httpd (pid 627) is running...

使用以下命令查看系统启动时哪些服务会被启用:

# chkconfig --list

在linux系统中查看所有正在运行的服务

方法二、在 system v(sysv)系统中查看运行的服务

另外一种在 linux 系统上列出运行的服务的方法是使用 initctl 命令:# initctl list

在linux系统中查看所有正在运行的服务

方法三、在 systemd 系统中查看运行的服务

systemctl 命令帮助我们列出 systemd 系统中所有服务:

在linux系统中查看所有正在运行的服务

以上命令的解释:

1.unit 相应的 systemd 单元名称

2.load 相应的单元是否被加载到内存中

3.active 该单元是否处于活动状态

4.sub 该单元是否处于运行状态(注:是较于 active 更加详细的状态描述,不同的单元类型有不同的状态。)

5.description 关于该单元的简短描述

以下选项可根据类型列出单元:# systemctl list-units --type service

在linux系统中查看所有正在运行的服务

以下选项可帮助您根据状态列出单位,输出与前例类似但更直截了当:# systemctl list-unit-files --type service

在linux系统中查看所有正在运行的服务

运行以下命令以查看指定服务的状态:

# systemctl | grep apache2

apache2.service  loaded active running  the apache http server

或者,使用 systemctl status apache2 命令也可查看指定服务的状态:

在linux系统中查看所有正在运行的服务

执行 systemctl | grep running 命令,只查看正在运行的服务:

在linux系统中查看所有正在运行的服务

使用 systemctl list-unit-files | grep enabled 命令查看系统启动时会被启用的服务列表:

在linux系统中查看所有正在运行的服务

systemd-cgtop 命令按资源使用情况(任务、cpu、内存、输入和输出)列出控制组:

在linux系统中查看所有正在运行的服务

同时,我们可以使用 pstree 命令(输出来自 sysvinit 系统)查看正在运行的服务:

在linux系统中查看所有正在运行的服务

我们还可以使用 pstree 命令(输出来自 systemd 系统)查看正在运行的服务:

在linux系统中查看所有正在运行的服务

方法四、使用 chkservice 在 systemd 系统中查看正在运行的服务

chkservice 是一个管理系统单元的终端工具,需要超级用户权限。

# chkservice

在linux系统中查看所有正在运行的服务

要查看帮助页面,请按下?,它将显示管理 systemd 服务的可用选项。

在linux系统中查看所有正在运行的服务

总结

以上就是在linux系统中查看所有正在运行服务的方法小结的详细内容,更多关于linux查看正在运行服务的资料请关注3w代码其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com