【Linux】Linux下shell启动jar包
一个更好的sh文件:
启动命令:sh xxx.sh start
停止命令:sh xxx.sh stop
查看状态命令:sh xxx.sh status
重启命令:sh xxx.sh restart
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | #!/bin/bash #进入当前目录 并自动获取jar包 cd `dirname $ 0 ` APP_HOME= 'path' APP_NAME= "`cd ${APP_HOME} && find -name '*.jar' `" #使用说明,用来提示输入参数 usage() { echo "Usage: sh robotcenter.sh [start|stop|restart|status]" exit 1 } #检查程序是否在运行 is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #如果不存在返回 1 ,存在返回 0 if [ -z "${pid}" ]; then return 1 else return 0 fi } #启动方法 start(){ is_exist if [ $? -eq 0 ]; then echo "${APP_NAME} is already running. pid=${pid}" else nohup java -jar ${APP_NAME} >/dev/ null 2 >& 1 & #Xms Xmx 指定虚拟内存上下限 #nohup ${JRE_HOME}/bin/java -Xms128m -Xmx512m -jar ${APP_NAME} >/dev/ null 2 >& 1 & echo "..." sleep 2 echo "..." sleep 3 is_exist if [ $? -eq 0 ]; then echo "${APP_NAME} is running success. pid=${pid}" fi fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill - 9 $pid echo "..." sleep 2 is_exist if [ $? -eq 0 ]; then echo "${APP_NAME} still in the running. pid=${pid}" else echo "${APP_NAME} has stopped running." fi else echo "${APP_NAME} is not running" fi } #输出运行状态 status(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is NOT running." fi } #重启 restart(){ stop #sleep 5 start } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "start" ) start ;; "stop" ) stop ;; "status" ) status ;; "restart" ) restart ;; *) usage ;; esac |
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构