Red Hat/CentOS中查看所有服务和正在运行的服务

时间:2019-11-20 08:52:49  来源:igfitidea点击:

在Fedora/RHEL/CentOS Linux服务器中如何列出所有当前正在运行的服务?
在CentOS/RHEL 7.x和RHEL/CentOS 8.x中如何查看服务的状态?

有关服务操作的命令

适用于Red Hat/CentOS/RHEL 6.x以下版本

使用service命令列出正在运行的服务

service --status-all
service --status-all | more
service --status-all | grep nginx
service --status-all | less

查看某个服务的状态

查看nginx服务的状态:

service nginx status

sshd服务的显示状态:

service sshd status

查看已知的服务

chkconfig --list

列出服务及端口

netstat -tulpn

启动/关闭服务

ntsysv
chkconfig service off
chkconfig service on
chkconfig httpd off
chkconfig ntpd on

ntsysv是用于配置运行级别服务的简单界面,默认情况下,它配置当前运行级别。
这些服务也可以通过chkconfig进行配置。

基于Systemd的系统使用systemctl命令:

适用于 Fedora Linux v22/23/24/26/27/28/29/30/31
CentOS/RHEL 7.0 /8.0

列出正在运行的服务

systemctl
systemctl | more
systemctl | grep httpd
systemctl list-units --type service
systemctl list-units --type mount

列出所有服务

systemctl list-unit-files

查看与特定服务(cgroup)关联的进程

systemd-cgtop

输出示例:

Path                                                              Tasks   %CPU   Memory  Input/s Output/s

/                                                                   211    2.5   817.5M        -        -
/system.slice/ModemManager.service                                    1      -        -        -        -
/system.slice/NetworkManager.service                                  2      -        -        -        -
/system.slice/abrt-oops.service                                       1      -        -        -        -
/system.slice/abrt-xorg.service                                       1      -        -        -        -
/system.slice/abrtd.service                                           1      -        -        -        -
/system.slice/accounts-daemon.service                                 1      -        -        -        -

在CentOS/RHEL 7.x +上列出SysV服务

chkconfig --list

如何使用systemd检查服务状态

检查sshd的状态

$ systemctl status sshd.service

确认服务状态

检查服务是否正在运行

systemctl is-active sshd
systemctl is-enabled sshd
systemctl is-active nginx
systemctl is-enabled nginx
systemctl is-enabled httpd

在RHEL/CentOS 8.x查看服务

列出当前加载的服务:

$ sudo systemctl list-units --type=service

显示已加载的和活动的单元/服务:

$ sudo systemctl

使用grep命令/egrep命令过滤掉:

$ sudo systemctl | egrep 'httpd|php-fpm|mysqld|nginx'
$ sudo systemctl list-units --type=service | grep nginx

查看服务/单元的依赖关系

# systemctl list-dependencies {service-name}
# systemctl list-dependencies nginx.service
# systemctl list-dependencies php-fpm.service
# systemctl list-dependencies sshd.service
# systemctl list-dependencies crond.service