Linux 下通过 java 命令启动 jar 包常见方式小结

 更新时间:2023年12月05日 11:17:16   作者:_kairui  
这篇文章主要介绍了Linux 下通过 java 命令启动 jar 包常见方式小结,后台启动jar包命令大致有五种,每种方式结合代码给大家介绍的非常详细,感兴趣的朋友一起看看吧

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

一、后台启动jar包命令

方法一:直接启动 jar 包服务

# 当前ssh窗口不被锁定,直接关闭或可按CTRL + C打断程序运行,程序也会退出。
java -jar app.jar

方法二:后台启动 jar 包服务

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

方法三:后台不挂断启动

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

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

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

方式五:指定配置文件启动

# 通过 -Dspring profiles.active=pro 来指定配置文件,启动的的是application-prod.yml 或者 application-prod.properties
nohup java -jar app.jar -Dspring.profiles.active=prod >log.out &

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

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

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

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

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

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

# 指定分配系统资源大小
nohup java -Xms1024m -Xmx1024m -jar app.jar -Dspring.profiles.active=prod >log.out &

方式八:解决中文编码 造成启动异常

# 解决中文编码 造成启动异常
nohup java -Xms500m -Xmx500m -jar app.jar -Dfile.encoding=utf-8 >log.out &

方式九:启动时指定Nacos服务配置空间

# 启动时指定Nacos服务配置空间
nohup java -jar -Dspring.cloud.nacos.config.server-addr=http://nacos-web.hrfax.example -Dspring.cloud.nacos.config.namespace=04995955-38a0-4279-9b2f-2857e844e156 -Dfile.encoding=utf-8 app.jar

二、查看jar包是否运行

# ps aux 查看
ps aux | grep app.jar

a 显示所有用户的进程(show processes for all users)
u 显示用户(display the process’s user/owner)
x 显示无控制终端的进程(also show processes not attached to a terminal)

# ps -ef 查看
ps -ef |grep app.jar

ps -ef 是以System V方式显示,该种方式比BSD方式显示的多
e 显示所有用户的进程(all processes)此参数的效果和指定"a"参数相同
f 用ASCII字符显示树状结构,表达程序间的相互关系(ASCII art forest)

三、杀死Java进程

# kill -9 PID 是操作系统从内核级别强制杀死一个进程
kill -9 (进程id)
# kill -15 PID 可以理解为操作系统发送一个通知告诉应用主动关闭
kill -15 (进程id)

当使用kill -15时,系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该信号后,具体要如何处理是自己可以决定的。这时候,应用程序可以选择:
1、立即停止程序
2、释放响应资源后停止程序
3、忽略该信号,继续执行程序

到此这篇关于Linux 下通过 java 命令启动 jar 包的几种常见方式的文章就介绍到这了,更多相关java 命令启动 jar 包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Maven配置文件pom.xml详解

    Maven配置文件pom.xml详解

    什么是POM?这篇文章主要介绍了Maven的配置文件pom.xml,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Java递归运行的机制:递归的微观解读图文分析

    Java递归运行的机制:递归的微观解读图文分析

    这篇文章主要介绍了Java递归运行的机制:递归的微观解读,结合图文形式详细分析了java递归运行的原理、机制与相关注意事项,需要的朋友可以参考下
    2020-03-03
  • 剑指Offer之Java算法习题精讲二叉树专题篇上

    剑指Offer之Java算法习题精讲二叉树专题篇上

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • 基于Spring-cloud-gateway实现全局日志记录的方法

    基于Spring-cloud-gateway实现全局日志记录的方法

    最近项目在线上运行出现了一些难以复现的bug需要定位相应api的日志,通过nginx提供的api请求日志难以实现,于是在gateway通过全局过滤器记录api请求日志,本文给大家介绍基于Spring-cloud-gateway实现全局日志记录,感兴趣的朋友一起看看吧
    2023-11-11
  • Java实现支付对接常用加密方式的示例代码

    Java实现支付对接常用加密方式的示例代码

    这篇文章主要为大家详细介绍了Java如何实现支付对接时常用加密方式,文中的示例代码讲解详细,对我们学习Java有一点帮助,需要的可以参考一下
    2023-02-02
  • SpringMVC体系分层模式原理图解

    SpringMVC体系分层模式原理图解

    这篇文章主要介绍了SpringMVC体系分层模式原理图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Java抽象定义以及举例代码

    Java抽象定义以及举例代码

    这篇文章主要给大家介绍了关于Java抽象定义以及举例的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Springboot有效防止XSS攻击的几种方法

    Springboot有效防止XSS攻击的几种方法

    本文介绍了在SpringBoot项目中防止XSS攻击的多种方法,包括输入验证和过滤、输出编码、使用安全框架、使用模板引擎的自动转义功能以及设置安全HTTP头等,感兴趣的可以了解一下
    2024-12-12
  • 浅谈java中null是什么,以及使用中要注意的事项

    浅谈java中null是什么,以及使用中要注意的事项

    下面小编就为大家带来一篇浅谈java中null是什么,以及使用中要注意的事项。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 把Java程序打包成jar文件包并执行的方法

    把Java程序打包成jar文件包并执行的方法

    这篇文章主要介绍了把Java程序打包成jar文件包并执行的方法,非常具有实用价值,需要的朋友可以参考下
    2017-10-10

最新评论