开机,关机执行脚本---服务方式

首先在/etc/init.d目录下先创建一个简单的脚本,名字为服务名testService

#!/bin/sh
start()
{
        echo "Starting my process ">/root/a.txt
}
stop()
{
        echo "Stoped">/root/b.txt
}
case "$1" in
    start)
        start
        RETVAL=$?
        ;;
    stop)
        stop
        RETVAL=$?
        ;;
    *)
        echo $"Usage: service testService{start|stop}"
        RETVAL=2
        ;;
esac
exit $RETVAL

为了在系统中注册这个服务,需要使用chkconfig命令,并且要在脚本头部加入,后面的17是启动优先级,83是关闭优先级

# chkconfig: - 17 83

然后调用chkconfig命令注册该服务

chkconfig --add testService

如果想开机启动该服务,则和其他服务一样执行

chkconfig testService on

至此,重启后或者开机后,服务脚本里的start段就会执行了,但是关机或重启的时候stop函数并不会执行,查了好久终于找到了,要在启动服务后在/var/lock/subsys目录下创建一个和服务名一样的空文件,因此可以在start段加上一句命令。完整的脚本则变为

#!/bin/sh
# chkconfig: - 17 83
. /etc/rc.d/init.d/functions
start()
{
        touch /var/lock/subsys/testService
#        echo "Starting my process ">/root/a.txt
#        这里可以添加服务启动时执行的脚本
}
stop()
{
        echo "Stoped">/root/b.txt
#        这里添加服务停止时需要执行的脚本
}
case "$1" in
    start)
        start
        RETVAL=$?
        ;;
    stop)
        stop
        RETVAL=$?
        ;;
    *)
        echo $"Usage: service testService{start|stop}"
        RETVAL=2
        ;;
esac
exit $RETVAL

这样,一个简单的服务脚本就完成并注册好了,不仅可以开机,关机的时候执行一段脚本,同样的我们还可以用把我们自己的程序封装到里面作为服务来启动。

service testService start
service testService stop

如果需要更多的参数,可以自行添加脚本段。就和其他的服务一样来使用。


转载于:https://my.oschina.net/u/2516965/blog/546197

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值