java jar启动停止重启查看状态四合一脚本

r囧r小猫 2024-04-01 08:41 183阅读 0赞

先写个执行脚本execute.sh,将该脚本放在与jar同一级目录下

  1. #!/bin/bash
  2. #这里可替换为你自己的执行程序,其他代码无需更改
  3. APP_NAME=demo.jar
  4. cd `dirname $0`
  5. #使用说明,用来提示输入参数
  6. usage() {
  7. echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
  8. exit 1
  9. }
  10. #检查程序是否在运行
  11. is_exist(){
  12. pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
  13. #如果不存在返回1,存在返回0
  14. if [ -z "${pid}" ]; then
  15. return 1
  16. else
  17. return 0
  18. fi
  19. }
  20. #启动方法
  21. start(){
  22. is_exist
  23. if [ $? -eq "0" ]; then
  24. echo "${APP_NAME} is already running. pid=${pid} ."
  25. else
  26. nohup java -jar $APP_NAME > /dev/null 2>&1 &
  27. echo "${APP_NAME} start success"
  28. #tail -f myserver-web.out
  29. fi
  30. }
  31. #停止方法
  32. stop(){
  33. is_exist
  34. if [ $? -eq "0" ]; then
  35. kill -9 $pid
  36. echo "${APP_NAME} is stoped"
  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

用法:

通过 execute.sh start | stop | restart | status 可实现启动,停止,重启和查看状态的操作了。

补充下

sh execute.sh与./execute.sh区别

sh execute.sh 是不需要有执行权限

./execute.sh 是需要有执行权限的,可以通过 chmod +x execute.sh 赋予权限

发表评论

表情:
评论列表 (有 0 条评论,183人围观)

还没有评论,来说两句吧...

相关阅读