linux service 命令详解

本文详细解析了Service命令的运行机制,包括如何执行初始化脚本、支持的命令及其参数用法,特别强调了`service --full-restart`和`service --status-all`的使用场景,提供了一种在不同情况下高效管理系统的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大纲:

   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...

去执行相关的脚本.




  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值