问题描述
我打好的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 + 编号