Linux后台启动程序以及打开XShell连接运行java -jar然后关闭连接程序不再运行问题

5 篇文章 0 订阅
4 篇文章 0 订阅

关于

一般上来说,我们在服务器上启动一个jar,最简单的方式就是java -jar xx.jar,虽然这种方式简单但有时候我们的场景需要更多,例如常驻后台运行,在命令行窗口关闭的时候不中断项目,指定端口,并且输出日志到文件中等。所以这个时候我们通常会采用脚本启动和关闭项目,方便项目的统一管理。

 

问题描述
我打好的jar包,放在服务器上之后,在windows里面用xshell打开一个连接,然后运行java -jar 。。。。执行这个jar文件,当我关闭这个链接的时候为什么程序停止了呢?

打开XShell连接并运行
java -jar  XX.jar 
后当前的连接被锁定,也就是说,你的连接的线程当前的状态会影响程序的执行,比如你按了CTRL+C命令程序退出,还有关闭你的连接那么程序也会结束。

怎么解决?

后台启动程序
java -jar XXX.jar &
当前窗口不被锁定,输出的日志会显示在屏幕上,当关闭窗口的时候,实验之后并不会停止执行。

方式2
nohup 不挂断运行的命令,当终端或者账户关闭的时候,程序依旧运行。
当前的命令默认会把日志输出到nohup.out文件中
nohup java -jar XXX.jar &
指定输出文件
nohup java -jar XXX.jar >log.out &

查看后台启动命令
jobs
显示后台运行的程序。每个作业前面都有一个作业的编号。

调回前台控制
fg + 编号

关闭后台进程:

      kill命令:结束进程

     (1)通过jobs命令查看jobnum,然后执行   kill %jobnum

     (2)通过ps命令查看进程号PID,然后执行  kill %PID

       如果是前台进程的话,直接执行 Ctrl+c 就可以终止了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值