您的位置:首页 > 运维架构 > Linux

linux service 命令详解

2014-05-06 11:57 295 查看
大纲:

service --run a System V init script 运行一个System V类型的初始化脚本.

service SCRIPT COMMAND [OPTION]

这个大纲要拆开来看.

service SCRIPT COMMAND #例如 service mysql start

service [OPTION] #例如service --help,service --version

描述:

service 在一个尽可能可预测的环境中执行一个System V类型的初始化脚本,移除大多数环境变量并且将工作目录设置为 / 根目录.

脚本参数指明一个 在 /etc/init.d/SCRIPT 的System V初始化脚本.支持的命令取决于支持的脚本,

所有的脚本都必须至少支持start和stop命令,当然还有其他的命令,比如 restart,condrestart.这个取决于所要执行的脚本文件.

同时service 还提供了 --full-restart 参数 和 --status-all

service service_name --full-restart 在/etc/init.d/目录下的相应脚本执行两次,一次是stop,另一次是start.所有的服务都开启.

service --status-all 查看所有服务的状态.类似于循环的使用了 service 某服务 status.

下面我再深入的分析一下service 脚本.

首先确定一点,没错,service服务就是一个shell脚本文件.

service,service --help ,service --version 显示service的相关信息.

如果是service --status-all

循环执行 service service_name status 其中 service_name表示/etc/init.d/目录下的所有服务,但是不包括functions,halt,killall,single,linuxconf,kudzu这些文件.

service service_name --full-restart 表示的是先执行 service service_name stop,然后执行service service_name start

那么可能有人有疑问了,那不和service service_name restart 一样吗? 表面上看确实是这样的.但是不乏有些脚本中没有restart选项,那么就无法执行restart选项,但是通过

service service_name --full-restart 可以解决这个问题.

最后如果确实是操纵某个服务,则使用

env -i PATH ="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" stop|start|restart...

去执行相关的脚本.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: