每次启动程序都要敲一堆命令,终止程序都要ps+grep找到程序pid然后kill,太麻烦了!
花了点时间写了个程序启动停止脚本,如下:
#! /bin/bash
readonly CMD=$1
readonly PARAM=$2
readonly BIN="./your_bin"
start() {
local bin=$1
local param=$2
if [ -f .pid ];then
echo "${bin} is running"
return 0;
fi
if [ ${param}"" == "-d" ];then
nohup ${bin} &
echo $! > .pid
echo "${bin} started"
return 0
fi
${bin}
}
stop() {
pid=`cat .pid`
if [ $pid"" = "" ]; then
echo "already stopped"
exit
fi
kill -2 $pid
rm .pid
echo "stopped"
}
help() {
echo "sh start.sh [start|stop|restart] [-d]"
}
case "$CMD" in
start)
start $BIN $PARAM
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
help
;;
esac
只需要配置一个BIN变量即可实现程序的启动和停止,十分简单。
你可能还喜欢下面这些文章
shell中的if语法是最让我头疼的语法之一,它的判断就向使用USB插头一样——拿起来插入不行,翻转再插入还不行,再翻转插入行了!为了搞清楚这部分语言,我收集了一些文章关于if条件判断的用法,希望对你也有些帮助。一、基本语法if [ command ]; then 符合该条件执行的语句fiif [ command ];then 符合该条件执行的语句elif [ command ];then 符合该条件执行的语句else 符合该条件执行的语句fi语法说明bash shell会按顺序执行if语句,如果command执行后且它的返回状态是0,则会执行符合该条件执行的语
shell可以自定义变量,这为shell的编写带来很多方便定义变量定义变量时,变量名不加美元符号($),如:variableName=”value”注意:变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样同时,变量名的命名须遵循如下规则。首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)。变量定义举例:myUrl=”http://imhuchao.com/tag/bash”myNum=100使用变量使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如:your_nam
shell中 $? $# $* $$ $* $@ $0 特殊变量含义
shell中有一些常用的难记的特殊变量,如下:$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$#传递给脚本或函数的参数个数。$*传递给脚本或函数的所有参数。$@传递给脚本或函数的所有参数。被双引号(” “)包含时,与 $* 稍有不同$?上个命令的退出状态,或函数的返回值。$$当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。$0 – 当前脚本文件名#! /bin/bashecho $0$ sh shell.sh shell.sh$n – 第n个参数#! /bin/bashecho $1echo
赞赏微信赞赏
支付宝赞赏