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

这篇具有很好参考价值的文章主要介绍了Linux 下通过 java 命令启动 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、忽略该信号,继续执行程序文章来源地址https://www.toymoban.com/news/detail-534535.html

到了这里,关于Linux 下通过 java 命令启动 jar 包的几种常见方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python下载包的几种方法

    有时候下载包总是报错,各种各样的错误。参考了很多很多,最终想记下一些。按照从易到繁的顺序。 最方便的就是通过pycharm编译器,点击加号搜索包。 然后是用anaconda prompt使用命令 pip install [-i 镜像网址] 包名,方括号可有可无,看下载速度或者是否报错。 接着就是跑到

    2024年02月15日
    浏览(45)
  • iPortal内置Elasticsearch启动失败的几种情况——Linux

    作者:yx 在Linux环境启动iPortal后有时会出现搜索异常的情况,如下截图,这是因为Elasticsearch(以下简称“ES”)没启动成功导致的,支持过程中常遇到有三种情况导致ES启动失败的原因,一起来看看吧! 从帮助文档可以得知,启动内置的搜索服务时相关端口有这些: 如果使用

    2024年01月16日
    浏览(55)
  • python中导入模块/包的几种方式

    一、模块的导入方式 模块就是.py类型的Python文件 导入时不需要.py后缀,直接导入文件名即可 1.利用import直接导入: 语法:import module_name 使用方式:module_name.class_name或者module.func_name 2.利用import导入模块并设置一个别名 语法:import module_name as XXX 使用方式:XXX.class_name或者X

    2024年01月22日
    浏览(47)
  • JAVA开发(通过Apollo注入配置信息的几种方式)

    在springCloud中有一个重要的组件就是配置中心,config:server,用于配置springboot中需要注入的各种配置项。但是现在发现越来越多的企业使用Apollo进行集成。博主在开发中也是使用Apollo进行配置。本文总结Apollo的的使用,集成到springboot,和注入方式等。   Apollo是携程框架部门研

    2024年02月09日
    浏览(66)
  • jar 命令启动java 指定配置文件路径 jar如何启动

    一、各种启动方式 1.java -jar # 例子 java -jar test.jar 1. 2. 这是最简单的启动方式,同时弊端也是很多的。 弊端1:exit 退出终端会导致java进程中断。 弊端2:ctrl+c 退出启动展示页会导致java进程中断。 弊端3:直接关闭终端会导致java进程中断(启动时和启动完关闭都会导致java进程终

    2024年02月04日
    浏览(53)
  • java -jar启动命令

    1、前台启动,日志输出在当前窗口,退出即关闭(不推荐) 2、后台启动、日志输出到当前目录的nohup.out 3、后台启动,日志按天存储(每天备份并清空当前文件) 4、后台启动,日志输出到指定文件 5、后台启动,日志重定向到 /dev/null 中,/dev/null代表linux的空设备文件,所有往

    2024年02月14日
    浏览(38)
  • 【Linux】在命令行中查看Linux内核版本的几种方法

    如何知道自己的系统使用哪个Linux内核版本?以下是在Linux终端中检查内核版本的几种方法。 如何找到Linux内核版本 1、使用uname命令查找Linux内核 uname是用于获取系统信息的Linux命令,也可以使用它来确定自己使用的是32位还是64位系统。 这意味着我正在运行Linux内核5.4.0-113,或

    2024年02月04日
    浏览(54)
  • Python开发之Python导包的几种方法,自定义包的生成以及导入详解

    Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。 下面介绍python的几种导包方式。 1.

    2024年02月08日
    浏览(38)
  • 指定jdk启动jar包的方法

    一、windows版本下项目启动 1、编写一个run.bat文件,具体内容增减,根据个人所需,内容如下 2、编写一个stop.bat文件,内容根据个人所需进行增减,内容如下: 二、linux环境下项目启动 方法一、 窗口关闭,服务即停止。通过Java路径来启动对应的项目 示例如下: 方法二、 后

    2024年02月13日
    浏览(34)
  • linux抛弃tomcat,jar直接启动命令

    (1)查看有没有运行这个jar (2)查询java全部运行 (3)停止jar包 (4)启动jar包 (5)直接启动查看是否能启动 使用直接启动命令时,此退出直接关闭启动

    2024年02月13日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包