码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux环境执行jar脚本


    一、前言

    平常工作中,我们的开发的项目部署到linux环境,以jar包的方式运行,涉及jar包的启动、停止、查看状态等,我们可以通过脚本的方式进行维护,减少自己敲打一长串的命令少敲一个字母或者多敲一个字母,方便维护。

    二、脚本

    vim  app.sh

    1. #!/bin/bash
    2. appName=xxxx.jar
    3. if [ -z $appName ]
    4. then
    5. echo "Please check that this script and your jar-package is in the same directory!"
    6. exit 1
    7. fi
    8. killForceFlag=$2
    9. function start()
    10. {
    11. count=`ps -ef |grep java|grep $appName|wc -l`
    12. if [ $count != 0 ];then
    13. echo "Maybe $appName is running, please check it..."
    14. else
    15. echo "The $appName is starting..."
    16. nohup java -jar $appName --spring.profiles.active=test >log.out 2>&1 &
    17. fi
    18. }
    19. function stop()
    20. {
    21. appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
    22. if [ -z $appId ]
    23. then
    24. echo "Maybe $appName not running, please check it..."
    25. else
    26. echo -n "The $appName is stopping..."
    27. if [ "$killForceFlag" == "-f" ]
    28. then
    29. echo "by force"
    30. kill -9 $appId
    31. else
    32. echo
    33. kill $appId
    34. fi
    35. fi
    36. }
    37. function status()
    38. {
    39. appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
    40. if [ -z $appId ]
    41. then
    42. echo -e "\033[31m Not running \033[0m"
    43. else
    44. echo -e "\033[32m Running [$appId] \033[0m"
    45. fi
    46. }
    47. function restart()
    48. {
    49. stop
    50. for i in {3..1}
    51. do
    52. echo -n "$i "
    53. sleep 1
    54. done
    55. echo 0
    56. start
    57. }
    58. function help()
    59. {
    60. echo "Usage: $0 {start|stop|restart|status|stop -f}"
    61. echo "Example: $0 start"
    62. exit 1
    63. }
    64. function taillog()
    65. {
    66. tail -f -n 1000 log.out
    67. }
    68. case $1 in
    69. start)
    70. start;;
    71. stop)
    72. stop;;
    73. restart)
    74. restart;;
    75. status)
    76. status;;
    77. taillog)
    78. taillog;;
    79. *)
    80. help;;
    81. esac

    三、授权及命令

    chmod   +x      app.sh

    启动:app.sh  start    

    停止:app.sh  stop -f

    查看状态 app.sh  status

  • 相关阅读:
    java io流中为什么使用缓冲流就能加快文件读写速度
    Python可视化之Matplotlib
    Java获取某天、某月或某年的开始结束日期或开始结束时间戳
    Codeforces Round 905 (Div. 3)
    hel-micro
    智慧城市运维可视化:透视未来城市高效管理的新视窗
    k8s上部署seata-server集群并注册到nacos上
    C++入门之引用与内联函数
    实时WebRTC网页播放器进入快速功能迭代
    Hadoop系列——大数据概念day1-1
  • 原文地址:https://blog.csdn.net/bankq/article/details/134006440
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号