Linux后台运行java -jar

问题描述

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

打开XShell连接并运行

java -jar  XX.jar 

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

怎么解决?

后台启动程序

[java] view plain copy

  1. java -jar XXX.jar &  

当前窗口不被锁定,输出的日志会显示在屏幕上,当关闭窗口的时候,实验之后并不会停止执行。

方式2

nohup 不挂断运行的命令,当终端或者账户关闭的时候,程序依旧运行。

当前的命令默认会把日志输出到nohup.out文件中

[java] view plain copy

  1. nohup java -jar XXX.jar &  

指定输出文件
[java] view plain copy

  1. nohup java -jar XXX.jar >log.out &  

查看后台启动命令

[java] view plain copy

  1. jobs  

显示后台运行的程序。每个作业前面都有一个作业的编号。

调回前台控制

[java] view plain copy

  1. fg + 编号  

猜你喜欢

转载自my.oschina.net/u/204616/blog/1794676