在CentOS/RHEL如何检查服务是否正在运行

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

问题

Centos/RHEL/Fedora Linux服务器中,如何查看是否运行了MySQL或Apache之类的服务?

解决方案

可以使用service命令,它一般是运行一个System V初始化脚本。

查看服务器中某个服务的状态:

service SERVER status

或者

/etc/init.d/SERVER status

示例

在CentOS或RHEL上查看mysql服务的状态(检查mysql服务是否运行):

# service mysqld status

输出示例:

mysqld (pid  7556) is running...

查看所有服务的状态

service --status-all命令可以查看所有的服务状态

# service --status-all

输出示例:

....
...
.....
irqbalance (pid 2183) is running...
iscsi is stopped
iscsid is stopped
Kdump is operational
i5k_amb-isa-0000
Adapter: ISA adapter

使用ps或pgrep命令检查服务的进程是否存在

通过ps或pgrep命令来确定服务是否在RHEL/Centos上正在运行:

# ps aux | grep 'serviceNameHere'
# ps aux | grep 'mysqld'

或者

# pgrep serviceNameHere
# pgrep -u userName serviceNameHere  ## 查看某个用户的服务
# pgrep mysqld
# pgrep -u mysql mysqld

如何启动服务

绕过服务没有运行,可以使用start启动:

# service httpd status
## 如果httpd没有运行,则启动它##
# chkconfig httpd on  ## 设置开机启动
# service httpd start ## 启动服务