power-system.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/bin/bash
  2. #这里可替换为你自己的执行程序,其他代码无需更改
  3. APP_NAME=file-collect-1.0.0-SNAPSHOT.jar
  4. #使用说明,用来提示输入参数
  5. usage() {
  6. echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
  7. exit 1
  8. }
  9. #检查程序是否在运行
  10. is_exist(){
  11. pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
  12. #如果不存在返回1,存在返回0
  13. if [ -z "${pid}" ]; then
  14. return 1
  15. else
  16. return 0
  17. fi
  18. }
  19. #启动方法
  20. start(){
  21. is_exist
  22. if [ $? -eq "0" ]; then
  23. echo "${APP_NAME} is already running. pid=${pid} ."
  24. else
  25. echo --------Starting application --------
  26. nohup java -jar $APP_NAME > /dev/null 2>&1 &
  27. echo --------------Starting --------------
  28. #nohup java -jar $APP_NAME > /dev/null 2>&1 &
  29. fi
  30. }
  31. #停止方法
  32. stop(){
  33. is_exist
  34. if [ $? -eq "0" ]; then
  35. kill -9 $pid
  36. echo ------------Stop application ------------
  37. else
  38. echo "${APP_NAME} is not running"
  39. fi
  40. }
  41. #输出运行状态
  42. status(){
  43. is_exist
  44. if [ $? -eq "0" ]; then
  45. echo "${APP_NAME} is running. Pid is ${pid}"
  46. else
  47. echo "${APP_NAME} is NOT running."
  48. fi
  49. }
  50. #重启
  51. restart(){
  52. stop
  53. start
  54. }
  55. #根据输入参数,选择执行对应方法,不输入则执行使用说明
  56. case "$1" in
  57. "start")
  58. start
  59. ;;
  60. "stop")
  61. stop
  62. ;;
  63. "status")
  64. status
  65. ;;
  66. "restart")
  67. restart
  68. ;;
  69. *)
  70. usage
  71. ;;
  72. esac