码迷,mamicode.com
首页 > 系统相关 > 详细

linux下service+命令和直接去执行命令的区别,怎么自己建立一个service启动

时间:2016-03-13 19:31:53      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

  启动一些程序服务的时候,有时候直接去程序的bin目录下去执行命令,有时候利用service启动。

  比如启动mysql服务时,大部分喜欢执行service mysqld start。当然也可以去mysql下执行bin命令带上几个参数什么的。

  那么service是啥呢?linux可以man一下,看出来就是去/etc/init.d下执行了可执行的shell脚本。

   service执行的服务脚本都是在/etc/init.d目录下,各个程序下脚本里执行的命令仍然是在各个bin下。

这样我们也可以在这个目录下写一个shell,模仿这些程序来个。

先写一个简单到爆炸的service启动脚本。  

# cd /etc/init.d

# vi haha     #这个脚本名字叫haha

#!/bin/sh

echo $0=$0     $1=$1  


start(){
  echo ls
  cd ~ && ls 
}

stop(){
  echo ll
  cd ~ && ls -l
}


case "$1" in 

"start")
   start   
;;

"stop")
   stop
;;

esac

 

给这个脚本的执行权限比如 # chmod +x haha

执行这个:

# service haha start 

# service haha stop

可以看到脚本里输出了一下$0,$1

$0=/etc/init.d/haha

$1=start 或者 stop,就是haha脚本的参数

然后start和stop执行了非常简单的命令~

例子就是这样,其他的脚本无非就是去执行了它自己命令包的命令

 

有时间可以分析下这个nginx的service命令方式的脚本:

 

 

 

 

linux下service+命令和直接去执行命令的区别,怎么自己建立一个service启动

标签:

原文地址:http://www.cnblogs.com/firstForEver/p/5272599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!