centos6.8 添加系统服务

简述

许多 Linux 系统服务都可以通过 service 命令来进行控制,比如 service network reload 命令等,其中 service 命令第 1 个参数是服务的名字,第 2 个参数是具体的操作(如 start,restart 等)。
在 centos 系统中,service 命令实际是调用了 /etc/init.d 目录中的 shell 脚本,也就是说,如下 2 条命令其实是等价的。

# 直接执行脚本
/etc/init.d/netword restart
# 通过 service 命令执行脚本
service network restart

在上述命令中,nerwork 是 shell 脚本的文件名,restart 是传递给脚本的参数。

示例

至此,我们可以自己写一个 shell 脚本来添加到系统服务中,比如我们写一个关于 nginx 的启动,停止,重启的命令。
我们可以假设我们要写的命令最后是这样的执行的:

service my-nignx start

我们在 /etc/init.d 目录下新建一个文件 my-nginx,将一下代码粘贴进去:

#!/bin/bash
DAEMON=/usr/local/nwei/nginx/sbin/nginx
case "$1" in
start)
  echo "Starting nginx daemon..."
  $DAEMON && echo "SUCCESS"
  ;;
stop)
  echo "Stopping nginx deamon..."
  $DAEMON -s quit && echo "SUCCESS"
  ;;
reload)
  echo "Reloading nginx deamon"
  $DAEMON -s reload && echo "SUCCESS"
  ;;
restart)
  echo "Restarting nginx deamon"
  $DAEMON -s quit
  $DAEMON && echo "SUCCESS"
  ;;
*)
  echo "Usage:service nginx{start|stop|reload|restart}"
  exit 2
  ;;
esac

然后修改脚本执行权限:

chmod +x my-nginx

如下:
在这里插入图片描述
这样我们就可以使用我们自己的系统服务命令来操作 nginx 了。
在这里插入图片描述

脚本说明

#! 定义解释此脚本的 shell 路径。
“$1” 是 shell 预定义的参数变量,用于接收传入的参数,数字 1 表示用户输入的第 1 个参数。
case 语句中 *) 可以理解成默认。

设置开机自启动

添加 chkconfig:35 85 15 到脚本中
在这里插入图片描述
在执行

chkconfig --add my-ngnix

即可:
在这里插入图片描述

说明

35 表示允许启动的级别是 3 和 5 ,若暂不开启任何启动级别可以设置横线 “-” 代替。85 和 15 用户设置服务的启动 (S) 和关闭 (K) 顺序,数值小的先执行。对于底层服务一般 S 值小 K 值大,对于普通服务,一般 S 值大 K 值小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值