12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #java env
- #增加操作权限: chmod +x *.sh
- #编译.sh文件命令: sed -i 's/\r$//' *.sh
- #启动命令: ./sh.sh start 停止 ./sh.sh stop
- #shell脚本有时候调用linux的环境变量会有问题,所以这里还是把用到的java环境再设置一下
- #export JAVA_HOME=/usr/bin/java
- #名称为文件夹名称,jar 文件的父级目录
- #文件名 为了确保脚本通用,工程名的父级文件名
- APP_NAME=file
- SERVICE_DIR=/usr/local/jar/$APP_NAME
- #工程名称 idea 打包出来的工程名称
- SERVICE_NAME=file
- APP_JAR=$SERVICE_NAME\.jar
- #启动app的时候,将进程的pid保存在这里,方便以后杀死进程用
- APP_PID=$SERVICE_NAME\.pid
- cd $SERVICE_DIR
- case "$1" in
- start)
- #/dev/null 就不会有nohup.out文件了。
- nohup java -Xms32m -Xmx128m -Dloader.path="lib/" -jar $APP_JAR >log.file 2>&1 &
- #将pid写入文件
- echo $! > $SERVICE_DIR/$APP_PID
- echo "===== start $SERVICE_NAME"
- ;;
- stop)
- kill `cat $APP_PID`
- #删除掉pid文件
- rm -f $SERVICE_DIR/$APP_PID
- #查看是不是杀死进程了
- sleep 5
- #获得进程号,复制号两边不能留空格
- pid=`ps -ef | grep -w $SERVICE_NAME | grep -v grep | awk '{print $2}'`
- #判断相等两边要留空格
- if ["$pid" == ""];then
- echo "=== kill successfully "
- else
- echo "===== kill fail and try to kill -9"
- echo "==== the pid is $pid"
- kill -9 $pid
- fi
- echo "stop finished"
- ;;
- *)
- echo "please use start or stop 参数"
- ;;
- esac
- exit 0
|