service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。相关的命令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动。service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。
看看下面的手册页可能更加清楚的了解service的内幕:service运行指定服务(称之为System V初始脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运行服务脚本。这种脚本保存在/etc/init.d目录中,它至少要支持start和stop命令。
常用方式
格式:service
打印指定服务的命令行使用帮助。
格式:service start
启动指定的系统服务
格式:service stop
停止指定的系统服务
格式:service restart
重新启动指定的系统服务,即先停止(stop),然后再启动(start)。
格式:chkconfig --list
查看系统服务列表,以及每个服务的运行级别。
格式:chkconfig on
设置指定服务开机时自动启动。
格式:chkconfig off
设置指定服务开机时不自动启动。
格式:ntsysv
以全屏幕文本界面设置服务开机时是否自动启动。
使用示例
示例一 网络重启
当修改了主机名、ip地址等信息时,经常需要把网络重启使之生效。
[root@localhost]# service network
用法:/etc/init.d/network {start|stop|restart|reload|status}
[root@localhost]# service network status
配置设备:
lo eth0
当前的活跃设备:
lo eth0
[root@localhost]# service network restart
正在关闭接口 eth0: [ 确定 ]
关闭环回接口: [ 确定 ]
设置网络参数: [ 确定 ]
弹出环回接口: [ 确定 ]
弹出界面 eth0: [ 确定 ]
[root@node34 root]#
示例二 重启MySQL
[root@localhost]# service mysql
mysql: unrecognized service
[root@localhost]# service mysqld
用法:/etc/init.d/mysqld {start|stop|status|condrestart|restart}
[root@localhost]# service mysqld status
mysqld (pid 1638) 正在运行...
[root@localhost]# service mysqld restart
停止 MySQL: [ 确定 ]
启动 MySQL: [ 确定 ]
[root@localhost]#
示例三 查看service脚本源码
[root@localhost]# cat /sbin/service
示例四 查看crond服务的源码
[root@localhost]# cat /etc/init.d/crond
阅读(1609) | 评论(0) | 转发(0) |