#!/bin/bash
name=isochrone_server
app_name=isochrone_server.app
app_log=isochrone_server.log
if [[ ! -d logs ]]
then
mkdir logs
fi
app_process_pid(){
number=`ps -ef|grep ${app_name}|grep -v grep |awk '{print $2}'`
echo ${number}
}
start(){
if [ ! `app_process_pid` ]
then
nohup ./${app_name} >logs/${app_log} 2>&1 &
echo "${app_name} is start pid: `app_process_pid`"
else
echo "${app_name} is already exists"
fi
}
stop(){
if [ ! `app_process_pid` ]
then
echo "${app_name} is not running"
else
kill -9 `app_process_pid`
echo "${app_name} is stopped"
fi
}
status(){
if [ ! `app_process_pid` ]
then
echo "${app_name} is not running"
else
echo "${app_name} is running"
fi
}
swagger(){
goctl api plugin -plugin goctl-swagger="swagger -filename ${name}.json" -api ${name}.api -dir .
}
case $1 in
start)
start
;;
stop)
stop
sleep 2
;;
restart)
stop
sleep 2
start
;;
status)
status
;;
swagger)
swagger
;;
esac
使用:
make start,make stop,make status,make swagger