文章目录

  • 1、项目中的使用
    • start.sh 文件
    • stop.sh 文件
  • 2、Linux 下通过 java 命令启动 jar 包的几种常见方式
    • 方法1:直接启动 jar 包
    • 方法二:后台启动 jar 包
    • 方法三:nohup 后台不挂断启动
    • 方式四:指定日志输出的启动
    • 方式五:指定配置文件启动,或配置参数
    • 方式六:指定配置文件,使用系统默认的log配置,不另行指定日志输入
    • 方式七:指定分配系统资源大小

1、项目中的使用

start.sh 文件

#!/bin/bashAPP_NAME=server-app-2.2-RELEASEtpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`#rm -f tpid
if [ ${tpid} ]; thenecho 'Stop Process...'kill -15 $tpidsleep 5
finohup java -jar -Xms128m -Xmx512m $APP_NAME.jar --nacos.url=119.23.224.88 --nacosspace=uat > ./log/nohup`date +%Y-%m-%d`.out 2>&1 &
echo $! > tpid
echo Start Success!

stop.sh 文件

ps -ef | grep server-app-2.2-RELEASE.jar | grep -v grep | awk '{print $2}' | xargs kill

2、Linux 下通过 java 命令启动 jar 包的几种常见方式

方法1:直接启动 jar 包

java -jar XXX.jar缺点:当前ssh窗口会被锁定,不能再操作其他命令,如果需要执行其他命令,
则需要打断进程,可按CTRL + C打断程序运行,或直接关闭窗口,程序也会退出。

方法二:后台启动 jar 包

java -jar XXX.jar &
&代表在后台运行。
缺点:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行

方法三:nohup 后台不挂断启动

nohup java -jar XXX.jar &用 nohub 命令启动 jar 包,是在后台不挂断运行,关闭终端窗口或者 CTRL + C 命令也不会终止程序。
当用 nohub命令启动 jar 包的时候,如果不指定日志输出文件,则所有的输出都会被重定向到 nohub.out 的文件中。

方式四:指定日志输出的启动

nohup java -jar XXX.jar >log.out &通过 >log.out 命令,将程序的日志输出重定向到 log.out 文件中。
如果不指定日志输出文件,则会输出到 nohub 命令默认的输出文件,nohub.out 文件中。

方式五:指定配置文件启动,或配置参数

  • 指定配置文件
nohup java -jar XXX.jar --spring.profiles.active=pro >log.out &通过 --spring profiles.active=pro 来指定,启动的的是application-pro.yml 或者 application-pro.properties 配置文件。
  • 指定配置参数
nohup java -jar -Xms128m -Xmx512m $APP_NAME.jar --nacos.url=119.23.224.88 --nacosspace=uat > ./log/nohup`date +%Y-%m-%d`.out 2>&1 &通过 --nacos.url 指定nacos服务器url,如果--nacos.url没指定,则如下配置文件${nacos.url:119.23.224.88} 也是使用119.23.224.88通过 --nacosspace 指定nacos命名空间为uat,如果没指定,则使用 如下配置的dev
spring:cloud:nacos:config:server-addr: ${nacos.url:119.23.224.88}:8848group: DEFAULT_GROUPprefix: nrbc-server-webfile-extension: yamlnamespace: ${nacosspace:dev}

方式六:指定配置文件,使用系统默认的log配置,不另行指定日志输入

# 启动/opt/a/目录下的 test.jar ,配置文件使用 pro,日志使用配置文件默认配置,不单独指定。
nohup java -jar /opt/a/a.jar --spring.profiles.active=pro >/dev/null 2>&1 &

常见的文件描述符有如下:

  • 0 :stdin(标准输入)
  • 1 :stdout(标准输出)
  • 2 :stderr(标准错误)

2> /dev/null

代表重定向操作。将标准错误重定向到/dev/null ,即不输出错误信息。
/dev/null 2>&1 & : 等同于 1>/dev/null 2>&1 &, 即把标准输出重定向到/dev/null,并且把标准错误2重定向标准输出1,即标准输出和标准错误都输出到 /dev/null。

方式七:指定分配系统资源大小

nohup java -Xms500m -Xmx500m -jar XXX.jar -XX:PermSize=128M -XX:MaxPermSize=256M --spring.profiles.active=dev >log.out &-Xms堆内存初始值m -Xmx堆内存最大值m
1、堆内存:最小1024M,最大1536M。(对象使用的内存)
2、永久内存:最小128M,最大256M。(类使用的内存,PermGen)

linux 下启动 jar包相关推荐

  1. centos运行jar包需要的环境_Centos7服务器下启动jar包项目的最佳方法

    前言 在linux上运行jar包谁都会啊.为什么我还要单独拎出来讲呢.细心的朋友可能已经在标题中发现关键词Centos7和最佳方式. 这就说明我不是随便写点东西水一篇博客的ヾ(◍°∇°◍)ノ゙ 首先C ...

  2. Windows 10和Linux脚本启动jar包服务器,并设置开机启动

    Windows 10和Linux脚本启动jar包服务器,并设置开机启动 现在好多Java服务和应用都是用jar启动,jar打包成的里面会直接带有tomcat,所以可以直接启动,但是如何通过脚本启动并且 ...

  3. Windows/Linux下引用jar包,并用javac/java编译运行

    Windows/Linux下引用jar包,并用javac/java编译运行,有需要的朋友可以参考下. 1> Windows 假设要引用的jar放在D:/test目录下,名字为t1.jar, ja ...

  4. linux下运行jar包命令

    本人第一次给安卓的朋友做了迷你级别app的后台,但是一关xshell程序就终止了,因此将搜刮到的资料分享出来 阅览目录 linux下运行jar包的命令 详细介绍第三种方式 linux下的nohup命令 ...

  5. linux下运行jar包

    linux下运行jar包 一. java -jar kafka_data.jar 基本jar包执行方式.当用Ctrl+c中断或者关闭Xshell窗口时,程序也会中断执行. 二. java -jar k ...

  6. Linux下运行jar包的方法

      当我们使用SpringBoot的方式开发好了我们的应用,放到我们的Linux服务器上准备上线,首先想到的可能就是通过 java -jar xxx.jar 的方式来运行我们的jar包,程序运行正常, ...

  7. linux双击运行jar包,linux下发布JAR包 并运行

    虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell. 在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用 ...

  8. java在windows下启动jar包使用utf-8格式

    在使用hasor+dataway集成到spring boot项目使用jar包方式部署在Windows环境下,出现中文乱码的问题,考虑是Windows默认编码格式为gbk格式,所以在cmd启动jar包项 ...

  9. Linux 中启动jar包命令

    文章目录 1.启动jar包命令 2.查看正在运行的jar 3.杀死Java进程 1.启动jar包命令 方式一 java -jar XXX.jar 以这种方式运行时,当ssh窗口被锁定,按CTRL + ...

最新文章

  1. htmltest~计算器界面的实现
  2. mysql可以靠索引,而我只能靠打工,加油,打工人!
  3. nodejs中的模块的理解
  4. mysql还原详解_MySQL 备份与还原详解
  5. 如何在 Mac 上使用网络位置?
  6. oracle分区详解
  7. 两种异步时钟同步化区别分析
  8. 毕业论文用尾注添加参考文献
  9. 松下服务器分频器输出信号与,详解几款常用分频器及音箱分频器电路图
  10. android自带下拉阻尼动画,Android 阻尼回弹效果简单实现(类似iOS)
  11. keil5打开工程文件显示空白bug
  12. 使用Telerik控件搭建Doubanfm频道部分
  13. Android ViewPager 如何判断当前页面是从前一页还是后一页滑动过来
  14. 在SQL中limit 函数的使用
  15. 第7章第22节:双图排版:两张图片并列靠边对齐 [PowerPoint精美幻灯片实战教程]
  16. 【NOIP2015模拟11.2晚】我的天
  17. SemanticKITTI 数据集(ICCV 2019)
  18. database-oracle
  19. r语言中的或怎么表示什么不同_R语言中$是什么意思
  20. 使用ENVI软件中的SARSCAP工具对RADARSAT数据进预处理

热门文章

  1. windows cmd 自定义关机,重启,休眠
  2. 化妆品电商与供货商 一个词“暧昧”
  3. 循环队列解决舞会问题(C++实现)
  4. 一张图了解python_一张图学会python
  5. chromatron,反射镜游戏一代心得
  6. 小米智能互联电脑版总是弹出_小米智能互联下载
  7. 同创永益携手华为云Stack发布灾备管理联合解决方案
  8. Omnifocus使用1【基础篇】
  9. 11-【数据库】定义表结构的时间字段的两种方式
  10. 2023华南理工大学考研介绍