sh.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #java env
  2. #增加操作权限: chmod +x *.sh
  3. #编译.sh文件命令: sed -i 's/\r$//' *.sh
  4. #启动命令: ./sh.sh start 停止 ./sh.sh stop
  5. #shell脚本有时候调用linux的环境变量会有问题,所以这里还是把用到的java环境再设置一下
  6. #export JAVA_HOME=/usr/bin/java/jdk1.8.0_171/
  7. #工程上级文件名称
  8. FILE_NAME=eureka
  9. SERVICE_DIR=/usr/local/jar/$FILE_NAME
  10. #工程名称
  11. SERVICE_NAME=eureka
  12. APP_JAR=$SERVICE_NAME\.jar
  13. #启动app的时候,将进程的pid保存在这里,方便以后杀死进程用
  14. APP_PID=$SERVICE_NAME\.pid
  15. cd $SERVICE_DIR
  16. case "$1" in
  17. start)
  18. #/dev/null 就不会有nohup.out文件了。
  19. nohup java -Xms32m -Xmx128m -Dloader.path="lib/" -jar $APP_JAR >log.file 2>&1 &
  20. #将pid写入文件
  21. echo $! > $SERVICE_DIR/$APP_PID
  22. echo "===== start $SERVICE_NAME"
  23. ;;
  24. stop)
  25. kill `cat $APP_PID`
  26. #删除掉pid文件
  27. rm -f $SERVICE_DIR/$APP_PID
  28. rm -f $SERVICE_DIR/log.file
  29. #查看是不是杀死进程了
  30. sleep 5
  31. #获得进程号,复制号两边不能留空格
  32. pid=`ps -ef | grep -w $SERVICE_NAME | grep -v grep | awk '{print $2}'`
  33. #判断相等两边要留空格
  34. if ["$pid" == ""];then
  35. echo "=== kill successfully "
  36. else
  37. echo "===== kill fail and try to kill -9"
  38. echo "==== the pid is $pid"
  39. kill -9 $pid
  40. fi
  41. echo "stop finished"
  42. ;;
  43. *)
  44. echo "please use start or stop 参数"
  45. ;;
  46. esac
  47. exit 0