此脚本用来先kill之前运行中的java进程,之后启动新的java进程。
启动脚本的命令例如:
/home/admin/shell/publish_jar.sh prod all start
代码如下:
#! /bin/sh
profile=$1
port=$2
ports=(8080 8081 8082 8083)
jar_file=/home/admin/jar/springboot.jar
s_start(){
nohup java -jar $jar_file --server.port=$port --spring.profiles.active=$profile >/dev/null 2>&1 &
#nohup java -jar $jar_file --server.port=$port --spring.profiles.active=$profile >/home/admin/1.log 2>&1 &
echo "s_start : start java service(pid=$!) is starting and using port:$port, env:$profile "
}
s_stop(){
pid=`netstat -tunlp|grep $port|grep java|awk '${print $7}'|awk -F "/" '{print $1}'`
if [ $pid ]; then
kill -9 $pid
echo "s_stop : kill port=$port pid=$pid java service"
else
echo "s_stop : no java service port=$port pid=$pid"
fi