> CentOS > CentOS教程 >

CentOS/RHEL:检测各种服务(service)的启动状态

RHEL/Centos/Fedora linux系统里,如何来查看某些特定的服务比如:MySQL 或者Apache是否在运行中呢?
当然你需要使用“service”命令,该命令主要用于管理Linux操作系统中各种服务,它是一个脚本命令,会调用/etc/init.d/下面的各种服务启动程序。
service SERVER status
OR
/etc/init.d/SERVER status

示例:
在Centos 或RHEL下,查看一个名为mysqld(MySQL server)的是否处于运行状态。

1
# service mysqld status

示例输出结果:

1
mysqld (pid  4324) is running...

 

查看所有服务的状态

命令service –status-all 将会运行所有的启动脚本来显示各个服务的运行状态:

1
#service --status-all

输出为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@osetc ~]# service --status-all
Aegis is running
auditd is stopped
crond (pid  938) is running...
ip6tables: Firewall is not running.
iptables: Firewall is not running.
ERROR! MySQL is running but PID file could not be found
netconsole module not loaded
Configured devices:
lo eth0 eth1
Currently active devices:
lo eth0 eth1
ntpd (pid  930) is running...
Usage: /etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
master is stopped
rdisc is stopped
rsyslogd (pid  883) is running...
sandbox is stopped
saslauthd is stopped
openssh-daemon (pid  13367) is running...
vsftpd (pid 31721) is running...

 

ps 和pgrep命令
你也可以执行ps或者pgrep 命令来查看服务的状态

1
2
3
4
5
6
#ps aux | grep 'SERVER'
#ps aux | grep 'mysqld'

#pgrep 'SERVER'
#pgrep -u username 'SERVER'  ##查看某个用户的服务状态
#pgrep mysqld

 

启动服务:

如果Apache服务器的服务httpd没有启动,那我们如何来启动呢:

1
2
3
#service httpd status
#chkconfig httpd on
#service httpd start
(责任编辑:IT)