Linux - service 命令简介

service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。相关的命 令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动。 service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

service的内幕:service运行指定服务(称之为System V初始脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运 行服务脚本。

当运行service mysql start命令时, 实际上linux是去执行/etc/init.d/mysql脚本,对于service调用的脚本它至少要支持start和stop两个参数。


常用方式

格式:service <service>

打印指定服务<service>的命令行使用帮助。

格式:service <service> start

启动指定的系统服务<service>

格式:service <service> stop

停止指定的系统服务<service>

格式:service <service> restart

重新启动指定的系统服务<service>,即先停止(stop),然后再启动(start)。

格式:chkconfig --list

查看系统服务列表,以及每个服务的运行级别。

格式:chkconfig <service> on

设置指定服务<service>开机时自动启动。

格式:chkconfig <service> off

设置指定服务<service>开机时不自动启动。

格式:ntsysv

以全屏幕文本界面设置服务开机时是否自动启动。


使用示例
示例一 网络重启

当修改了主机名、ip地址等信息时,经常需要把网络重启使之生效。

[root@node34 root]# service network restart
正在关闭接口 eth0: [ 确定 ]
关闭环回接口: [ 确定 ]
设置网络参数: [ 确定 ]
弹出环回接口: [ 确定 ]
弹出界面 eth0: [ 确定 ]
[root@node34 root]#


示例二 重启MySQL

[root@node34 root]# service mysqld status
mysqld (pid 1638) 正在运行...
[root@node34 root]# service mysqld restart
停止 MySQL: [ 确定 ]
启动 MySQL: [ 确定 ]
[root@node34 root]#