服务端开发经常会写些后台运行的脚本,需要重启和启动时候都比较麻烦。经常是nohup python xxx&,ps -ef|grep xxx然后kill。利用下面的shell脚本可以实现简单的启动停止方式 怎加开发效率。
仅需修改startcmd和filename即可:
例如保存为startup.sh
startcmd="php control.php"
filename="control.php"
op=$1
[ -z "$op" ] && op=start
start(){
nohup $startcmd >> logs/$filename.log 2>&1 &
}
stop(){
pid=`ps -ef|grep $filename|grep -v "grep" |head -n1|awk '{print $2}'`
kill -9 $pid
printf "pid %s is killed.\n" $pid
}
case $op in
start)
echo "Starting Now......"
start
echo "Starting Finished"
;;
stop)
echo "Stopping Now......"
stop
echo "Stopping Finished"
;;
restart)
echo "Restart Now......"
stop
start
echo "Restart Finished"
;;
*)
esac
启动 startup.sh start
停止 startup.sh stop
重启 startup.sh restart