【java -jar 】的正确打开方式

背景:

之前遇到项目部署Jenkins和gitlabci 运行jar成功后,Jenkins控制台执行到最后一直阻塞,导致程序最终超时失败。

原因是:
对于没接触过这块的朋友,简单通过 java -jar 不加任何参数启动程序,就导致上面的问题。

如何正确启动jar

需要了解:jar包后台启动–nohup
1、当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

java -jar xxx.jar   

2、当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

 java -jar xxxxx.jar  &

3、nohup意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

注:无论怎么执行。最后面都要加 &
我因为忘记加 & 导致 shell一直阻塞(一直没找到问题),但是不能只加 &,否则依然会阻塞

nohup java -jar xxx.jar &   

生成日志 在尾后追加 > out.log &
1、demo1 保留日志 (会阻塞)

nohup java -jar   xxx.jar  > out.log   &

demo2 放弃标准输入 (会阻塞)

 nohup java -jar xxx.jar         >/dev/null  &

demo3 放弃标准输入和标准错误输出 (这是正确的方案)(不会阻塞)

#不保留日志
nohup java -jar xxx.jar     >/dev/null 2>&1 &
#保留日志
nohup java -jar xxx.jar     > out.log 2>&1 &

其他问题

1、查看jar 包进程

ps aux|grep  xxx.jar

2、jps显示的java进程名称为jar如何解决
使用 jps 时发现显示的进程名称为jar,而无法显示真正名称,很可能是
java -jar 的时候,写的是相对路径

#错误写法
java -jar xxx.jar
#正确写法
java -jar /home/opt/app/xxx.jar
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值