当前位置:   article > 正文

Linux 启动 停止 重启 jar Shell脚本_usage: gbesrun.sh [start|stop|restart|status] [jar

usage: gbesrun.sh [start|stop|restart|status] [jarname]
  1. #!/bin/bash
  2. #获取输入的jar名称
  3. APP_NAME=$1
  4. #使用说明,用来提示输入参数
  5. usage() {
  6. echo "Usage: sh run.sh xxx.jar [start|stop|restart|status]"
  7. exit 1
  8. }
  9. #检查程序是否在运行
  10. is_exist(){
  11. pid=`ps -aux|grep $APP_NAME |grep java |grep -v grep|awk '{print $2}'`
  12. if [ -z "${pid}" ]; then
  13. return 1
  14. else
  15. return 0
  16. fi
  17. }
  18. #启动方法
  19. start(){
  20. is_exist
  21. if [ $? -eq 0 ]; then
  22. echo "${APP_NAME} is already running. pid=${pid}"
  23. else
  24. nohup java -jar ${APP_NAME} >logs.log 2>&1 &
  25. sleep 1
  26. status
  27. fi
  28. }
  29. #停止方法
  30. stop(){
  31. is_exist
  32. if [ $? -eq "0" ]; then
  33. kill -9 $pid
  34. else
  35. echo "${APP_NAME} is not running"
  36. fi
  37. }
  38. #输出运行状态
  39. status(){
  40. is_exist
  41. if [ $? -eq "0" ]; then
  42. echo "${APP_NAME} is running. Pid is ${pid}"
  43. else
  44. echo "${APP_NAME} is NOT running."
  45. fi
  46. }
  47. #重启
  48. restart(){
  49. stop
  50. sleep 3
  51. start
  52. }
  53. #根据输入参数,选择执行对应方法,不输入则执行使用说明
  54. case "$2" in
  55. "start")
  56. start
  57. ;;
  58. "stop")
  59. stop
  60. ;;
  61. "status")
  62. status
  63. ;;
  64. "restart")
  65. restart
  66. ;;
  67. *)
  68. usage
  69. ;;
  70. esac

解释

ps -aux|grep $APP_NAME |grep java |grep -v grep|awk '{print $2}'

  ps -aux  |  grep xxx.jar  打印出包含 xx.jar 的所有进程信息(一行一个进程的信息);

       grep java              过滤出java进程;

  grep -v  grep   过滤掉包含  grep 字符的行,过滤掉当前的查找进程;

  awk '{print $2}'  输出第二列的内容;等于0时输出所有内容,大于0时输出指定列的内容;

使用方法

        第一个参数传jar包名称 第二个参数 [start|stop|restart|status] 选一个

sh run.sh pmsplatform-vform.jar status

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/139796
推荐阅读
相关标签
  

闽ICP备14008679号