Linux系统服务,有时称为守护进程,是在Linux启动时自动加载并在Linux退出时自动停止的系统任务。在本文中,我将向您展示如何列出Linux系统中所有正在运行的服务以及如何检查服务的当前状态。Centos/RHEL7.X的systemd系统服务查看CentOS7.x,CentOS开始使用systemd服务代替daemon,原来的管理系统启动和管理系统服务相关的命令都被systemctl命令代替了。systemctllist-unit-files命令的输出结果如下:要查看所有正在运行的systemd服务,可以运行以下命令:systemctl|more命令的输出结果如下:另外,您还可以使用以下命令:systemctllist-units--typeservice命令的输出如下:如果要在结果中搜索特定的服务,可以使用管道和grep命令。systemctl|grep"apache2"命令的输出结果如下:使用netstat命令查看系统服务。Netstat命令用于检查活动网络连接、接口统计信息和路由表状态。该命令在所有Linux发行版中都可用,接下来我们将使用它来查看系统服务。查看服务及其监听端口:netstat-pnltu命令的输出结果如下:通过系统服务配置文件查看系统服务配置文件。/etc/services是一个ASCII文件,包含了一系列可能用于该服务的用户程序。在此文件中,包括服务名称、端口号、使用的协议和一些别名。对于这个文件,我们可以使用任何文本工具来查看,比如vim:vim/etc/services命令的输出结果如下:查看systemd服务状态在一些新版本的Linux系统中,已经使用systemd来代替初始化进程。在这种系统中,如何查看系统服务呢?我们可以使用如下语法:systemctlstatusservice_name例如,要检查你的系统上的OpenSSH是否正在运行,你可以运行:systemctlstatussshd命令的输出如下:正在运行:systemctlis-activeservice_name如果使用该命令,则上例对应的命令为:systemctlis-activesshd命令的输出结果如下:同时,还可以查看某个服务是否已经启用,可以使用如下命令:systemctlis-enabledservice_name比如查看OpenSSH服务是否开启,可以输入如下命令:systemctlis-enabledsshd命令输出如下:旧版本的服务状态不能可以说是早了,到现在为止还有很多这样的系统,上面运行着SysVinit进程。对于此类系统,查看服务状态的命令为:serviceservice_namestatus或者查看OpenSSH状态示例,对应的命令为:servicesshdstatus命令的输出结果如下:也可以使用如下命令查看所有服务status:chkconfig--listcommand输出结果如下:本文经授权转载自公众号「良墟Linux」。世界500强外企Linux开发工程师梁旭,在公众号分享大量Linux干货,欢迎关注!
