当前位置:   article > 正文

linux服务start、stop、status、restart的通用shell脚本(jenkins为例)_usage: initd.sh {start|stop|restart|status|version

usage: initd.sh {start|stop|restart|status|version} but provided

时间:2023年6月17日14:59:02

背景:linux上的任意非docker式安装时的服务start、stop、restart、status管理脚本

适用:java

场景:java启动停止服务时适用。

需要修改内容:

1、port:22354,需要修改为你自己服务的端口

2、脚本是以jenkins为例。实际可以基于此,稍微修改即可完成 任意java 命令启动的服务管理。

3、JAVA_OPTIONS中的256m可以修改为512m(如果资源够用) ,以免后续程序因为内存不足导致任务失败

  1. #!/bin/bash
  2. JAVA_OPTIONS="-server -Xmx256m -Xms256m"
  3. Jenkins=$2
  4. this_dir="$( cd "$( dirname "$0" )" && pwd )"
  5. log_file="${this_dir}/catalina.out"
  6. jar_file="${this_dir}/${Jenkins}"
  7. if [ "$1" = "" ];
  8. then
  9. echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
  10. exit 1
  11. fi
  12. if [ "$Jenkins" = "" ];
  13. then
  14. echo -e "\033[0;31m 未输入应用名 \033[0m"
  15. exit 1
  16. fi
  17. function start()
  18. {
  19. count=`ps -ef |grep java|grep $Jenkins|grep -v grep|wc -l`
  20. if [ $count != 0 ];then
  21. echo "$Jenkins is running..."
  22. else
  23. nohup java $JAVA_OPTIONS -jar ${jar_file} --httpPort=22354> "${log_file}" 2>&1 &
  24. echo -e "Start $Jenkins success...Please see the detail log in /logs/catalina.out"
  25. fi
  26. }
  27. function stop()
  28. {
  29. echo "Stop $Jenkins"
  30. boot_id=`ps -ef |grep java|grep $Jenkins|grep -v grep|awk '{print $2}'`
  31. count=`ps -ef |grep java|grep $Jenkins|grep -v grep|wc -l`
  32. if [ $count != 0 ];then
  33. kill $boot_id
  34. count=`ps -ef |grep java|grep $Jenkins|grep -v grep|wc -l`
  35. boot_id=`ps -ef |grep java|grep $Jenkins|grep -v grep|awk '{print $2}'`
  36. kill -9 $boot_id
  37. fi
  38. }
  39. function restart()
  40. {
  41. stop
  42. sleep 2
  43. start
  44. }
  45. function status()
  46. {
  47. count=`ps -ef |grep java|grep $Jenkins|grep -v grep|wc -l`
  48. if [ $count != 0 ];then
  49. echo "$Jenkins is running..."
  50. else
  51. echo "$Jenkins is not running..."
  52. fi
  53. }
  54. case $1 in
  55. start)
  56. start;;
  57. stop)
  58. stop;;
  59. restart)
  60. restart;;
  61. status)
  62. status;;
  63. *)
  64. echo -e "\033[0;31m Usage: \033[0m \033[0;34m sh $0 {start|stop|restart|status} {JenkinsJarName} \033[0m
  65. \033[0;31m Example: \033[0m
  66. \033[0;33m sh $0 start esmart-test.jar \033[0m"
  67. esac

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

闽ICP备14008679号