前言

springboot的配置文件中,配置文件的名字都有各自的意义跟用途

dev 开发环境

prod 生产环境(默认)

test 测试环境

加载指定配置文件 --spring.profiles.active=prod

springboot加载jar包的方式有

// 直接在控制台进行启动,缺点就是控制台关闭项目也就关闭了。 java -jar bootdo.jar // 这种方式可以运行在后台,但是如果推出了shell的话,那也会挂 java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 & // 加上nohup的话,即使推出shell,也不影响。 nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &

解释

nohup表示永久运行。&表示后台运行

> 代表重定向到哪里

1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"

2 表示stderr标准错误

nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 & 即标准输出到mqnamesrv.out中,接着,标准错误输出重定向等同于标准输出,输出到同一文件中。

在服务器上通过如下方式启动成功之后,如果涉及到重新启动,那么你需要通过ps -ef | grep bootdo 查询到进程号,再通过kill -s 9 ${pid} 进行杀死再重新启动,很是麻烦。

nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &

一两次还好说,如果涉及到多次,那就有些崩溃了。

这样,可以通过编写一个shell脚本来进行启动(start)停止(stop)重启(restart)操作,一步到位,方便高效

在自定义目录创建 wss.sh 脚本,编辑内容如下。

#!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=websocketserver-0.0.1-SNAPSHOT.jar #使用说明,用来提示输入参数 usage() { echo "Usage: sh 脚本名.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 /mnt/ssd1/project/websocket/$APP_NAME > /mnt/ssd1/project/websocket/websocketserverlog.file 2>&1 & echo "${APP_NAME} start success" fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid 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 start } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac

在标红接头行配置启动命令。

之后就可以通过 wss.sh start | stop | restart 实现启动,停止,重启操作了。

补充下

sh xxx.sh与./xxx.sh区别

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

linux 停止jar 指令,Linux编辑启动、停止与重启springboot jar包脚本实例相关推荐

  1. Linux系统安装Java和mysql并关联DBeaver,上传Springboot jar包,数据库如何防止黑客攻击

    Linux系统安装Java 安装版本jdk-8u171-linux-x64.tar.gz1,上传到linux的 root目录下 2,tar -zxvf jdk-8u171-linux-x64.tar. ...

  2. linux蜂鸣器驱动指令,linux蜂鸣器驱动 蜂鸣器--LINUX.doc

    linux蜂鸣器驱动 蜂鸣器--LINUX 导读:就爱阅读网友为您分享以下"蜂鸣器--LINUX"的资讯,希望对您有所帮助,感谢您对92的支持! //mux = 1/16 tcfg ...

  3. java war启动慢_解决springboot war包在tomcat部署时启动慢的问题

    web.jpg 最近测试服务器tomcat发布一次很慢,为了解决这个问题,特地看了tomcat的log文件,启动日志在tomcat/logs/catalina.out文件中. 1.INFO:org.a ...

  4. Linux编辑启动停止重启springboot jar包脚本

    springboot的配置文件中,配置文件的名字都有各自的意义跟用途 dev 开发环境 prod 生产环境(默认) test 测试环境 加载指定配置文件 --spring.profiles.activ ...

  5. linux tomcat 进程杀掉_Linux下启动停止查看杀死Tomcat进程

    启动 一般是执行tomcat/bin/startup.sh,sh tomcat/bin/startup.sh 停止 一般是执行 sh tomcat/bin/shutdown.sh脚本命令 查看 执行p ...

  6. linux磁盘配额指令,Linux磁盘配额相关指令

    Linux磁盘配额相关指令 1.Quota的作用主要有: 1)限制某一群组所能使用的最大磁盘配额 2)限制某一用户的最大磁盘配额 3)以Link的方式,来使邮件可以作为限制的配额(更改/var/spo ...

  7. linux中top指令,Linux下top命令详解

    原标题:Linux下top命令详解 1.简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top显示系统当前的进程和其他状况 ...

  8. linux加解密指令,Linux加解密支持模块代码总体描述

    原标题:Linux加解密支持模块代码总体描述 1.3.4. Linux内核对加密的特性支持分析Linux内核加密特性,就要要根据不同算法所表现出来的特征进行总结.以下通过分组密码.Hash函数.随机数 ...

  9. linux修改时间指令,Linux 修改时间的指令

    查询现在的时间 date "+%Y%m%d%H%M.%S" %Y->年 %m->月 %d->日 %H->时 %M->分 %S->秒 查出来后可直 ...

最新文章

  1. 把时间当作朋友(第一版)笔记
  2. 实验2(第二章课后习题)
  3. jdk12源代码文件_JDK 11:轻松取出单文件Java源代码程序
  4. hive 导出json格式 文件_Magicodes.IE在.NET Core中通过请求头导出多种格式文件
  5. java版 高斯过程_高斯过程scikit-learn - 异常
  6. MSP430使用__delay_cycles实现延时1ms和1us
  7. linux中可以使用-af含义,关于Windows中的linux:AF_UNIX
  8. python冒泡排序_python实现基本算法之冒泡排序(Bubble Sort)
  9. 如何查看IOS系统APP的包名
  10. 调试器如何工作(2)
  11. 数据结构—顺序表基本操作(c语言代码)
  12. 实用的chrome插件
  13. Idea查看 破解码
  14. Linux下Tomcat中文乱码解决
  15. linux虚拟机ping不通外网问题
  16. 用 VS2005 类设计器设计类
  17. android 汉字字母排序,android recycleView自定义字母检索A-Z排序滑动通讯录汉字英文相互转换...
  18. One or more PGP signatures could not be verified
  19. 如何看懂congestion map
  20. 如何在 Windows 10 中安装 WSL2 的 Linux 子系统

热门文章

  1. 上手测试GaussDB(for Redis) 和开源 Redis,只为推荐质优价廉的Redis
  2. 语义级代码克隆检测数据集的评估与改进
  3. 超大超详细图解,让你掌握Spark memeoryStore内存管理的精髓
  4. 文字识别:关键信息提取的3种探索方法
  5. 华为云PB级数据库GaussDB(for Redis)揭秘第五期:高斯 Redis 在IM场景中的应用
  6. 教你用Python自制拼图小游戏,轻松搞定熊孩子
  7. 干货分享丨玩转物联网IoTDA服务系列五-智能家居煤气检测联动
  8. react里面的this_React 为啥要绑定this
  9. MATLAB一维数组的创建与元素提取
  10. Markdown编辑器基本语法