概述:CentOS 5和6下的服务启动时,使用的命令都是service 服务名 start方式启动,其实service命令也是调用了/etc/init.d/下的脚本,下面请看具体步骤
实验步骤:
首先准备好服务脚本,下面这一段代码是我之前写的,其类似于我们的服务启动时接受的参数,然后根据你所输入的参数来返回输出的内容
[root@localhost~]#vimtestsrv #!/bin/bash #function:scripttest #author:xiaoshui #[-z$1]&&echo"empty"&&exit dir=`basename$0` Dir="/var/lock/subsys/$dir" var=`echo$1|tr'A-Z''a-z'` case$varin start) if[!-e"$Dir"];then touch$Dir&&echo"$dirstartsuccess" else echo"$diralreadystart" fi ;; stop) if[!-e"$Dir"];then echo"$dirisnotstart" else rm-f$Dir&&echo"$dirstopsuccess" fi ;; restart) if[!-e"$Dir"];then echo"$dirnotstart" touch$Dir&&echo"$dirrestartsuccess" else rm$Dir&&echo"$dirstopped" touch$Dir&&echo"$dirrestartsuccess" fi ;; status) if[!-e"$Dir"];then echo"$dirisstopped" else echo"$dirisrunning" fi ;; *) echo"argueserror,pleaseinputstart|restart|stop|status" ;; esac
第一步:将脚本拷贝至/etc/init.d/目录下,并在前面的#!/bin/bash下加上一行#chkconfig:35 12 88
[root@localhost~]#vim/etc/init.d/testsrv #!/bin/bash #function:scripttest #chkconfig:351288 #description:testservice #author:xiaoshui
加上这内容的意义在于,35表示初始在哪个级别下启动,-表示默认都不启动 12 88 表示其表示/etc/rc.d/rc#.d/下面的K和S大头的文件,其含义就是启动的优先级。
第二步:chkconfig --add 服务 将服务加到chkconfig列表中
[root@localhostrc.d]#chkconfig--addtestsrv [root@localhostrc.d]#chkconfig--list ......省略........ testsrv0:off1:off2:off3:on4:off5:on6:off .......省略.....
第三步:使用service命令进行测试
[root@localhostrc.d]#servicetestsrvstart testsrvstartsuccess [root@localhostrc.d]#servicetestsrvstop testsrvstopsuccess [root@localhostrc.d]#servicetestsrvrestart testsrvnotstart testsrvrestartsuccess [root@localhostrc.d]#servicetestsrvstatus testsrvisrunning [root@localhostrc.d]#servicetestsrvstatfsdfsf argueserror,pleaseinputstart|restart|stop|status