Linux 系统服务有时也称为守护程序,是在Linux启动时自动加载并在Linux退出时自动中止的系统任务。apache
在本文中,良许将为你们介绍如何列出 Linux 系统里全部运行的服务,以及如何检查某个服务的当前状态。vim
CentOS 7.x开始,CentOS开始使用 systemd 服务来代替 daemon ,原来管理系统启动和管理系统服务的相关命令所有由 systemctl 命令来代替。centos
systemctl list-unit-files
命令的输出结果以下:网络
查看全部运行着的 systemd 服务能够运行如下命令:ssh
systemctl | more
命令的输出结果以下:工具
除此以外,你还可使用如下命令:code
systemctl list-units --type service
命令的输出结果以下:接口
若是你想要在结果里搜索某个特定的服务,可使用管道及 grep 命令。进程
systemctl | grep "apache2"
命令的输出结果以下:路由
Netstat 命令是用来检查活动的网络链接、接口统计分析,以及路由表状态。这个命令在全部的 Linux 发行版均可用,咱们接下来就用它来查看系统服务。
查看服务及它们所监听的端口:
netstat -pnltu
命令的输出结果以下:
服务的配置文件是 /etc/services
是一个 ASCII 文件,它包含了一系列的用户程序可能用到的服务。在这个文件里,包括了服务名称,端口号,所使用的协议,以及一些别名。
对于这个文件,咱们可使用任意的文本工具查看,好比 vim :
vim /etc/services
命令的输出结果以下:
在一些新版的 Linux 系统,已经有些用 systemd 来取代 init 进程了。在这种系统里,如何去查看系统服务呢?咱们可使用如下语法:
systemctl status service_name
好比说,查看你系统上的 OpenSSH 是否在运行,能够运行:
systemctl status sshd
命令的输出结果以下:
或者,你也可使用如下命令格式去查看某个服务是否正在运行:
systemctl is-active service_name
若是使用这条命令的话,实现上面那个例子对应的命令为:
systemctl is-active sshd
命令的输出结果以下:
同时,你也能够查看一个服务是否已经被使能了,可使用如下命令:
systemctl is-enabled service_name
好比,检查 OpenSSH 服务是否已经使能,可能输入如下命令:
systemctl is-enabled sshd
命令的输出结果以下:
其实也不能说早期,如今依然还有不少这样的系统,上面跑着 SysV init 进程。对于这种系统,查看服务状态的命令为:
service service_name status
仍是查看 OpenSSH 状态的例子,对应的命令为:
service sshd status
命令的输出结果以下:
你也可使用如下命令来查看全部的服务状态:
chkconfig --list
命令的输出结果以下: