查看Linux系统服务的5⼤⽅法
Linux 系统服务有时也称为守护程序,是在Linux启动时⾃动加载并在Linux退出时⾃动停⽌的系统任务。
在本⽂中,良许将为⼤家介绍如何列出 Linux 系统⾥所有运⾏的服务,以及如何检查某个服务的当前状态。
Centos/RHEL 7.X 的 systemd 系统服务查看
CentOS 7.x开始,CentOS开始使⽤ systemd 服务来代替 daemon ,原来管理系统启动和管理系统服务的相关命令全部由 systemctl 命令来代替。
systemctl list-unit-files
命令的输出结果如下:
查看所有运⾏着的 systemd 服务可以运⾏以下命令:
systemctl | more
命令的输出结果如下:
除此之外,你还可以使⽤以下命令:
systemctl list-units --type service
命令的输出结果如下:
如果你想要在结果⾥搜索某个特定的服务,可以使⽤管道及 grep 命令。
systemctl | grep "apache2"
命令的输出结果如下:
使⽤ netstat 命令查看系统服务
Netstat 命令是⽤来检查活动的⽹络连接、接⼝统计分析,以及路由表状态。这个命令在所有的 Linux 发⾏版都可⽤,我们接下来就⽤它来查看系统服务。
查看服务及它们所监听的端⼝:
netstat -pnltu
命令的输出结果如下:
通过系统服务配置⽂件查看系统服务
服务的配置⽂件是/etc/services是⼀个 ASCII ⽂件,它包含了⼀系列的⽤户程序可能⽤到的服务。在这个⽂件⾥,包括了服务名称,端⼝号,所使⽤的协议,以及⼀些别名。
对于这个⽂件,我们可以使⽤任意的⽂本⼯具查看,⽐如 vim :
vim /etc/services
退出grep命令命令的输出结果如下:
查看 systemd 服务状态
在⼀些新版的 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
命令的输出结果如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论