碰到问题:
通过SSH远程登录到Linux系统,要在/home目录下面利用java命令运行一个jar包的项目
关闭连接后项目也会停止运行,无法访问项目,必须重新登录到系统,再次手动执行命令,才能重新运行。
有没有办法在SSH远程连接被断开或者关闭的时候,系统里面的java程序还能继续运行?
答案:有办法
解决办法(1):(以CentOS系统为例)
1、安装screen命令
yum install screen #安装
2、screen -S test #创建screen会话,自定义screen虚拟终端的名称,test可以改为你想要的名称
3、进入/home目录,执行java命令运行jar包(之前好像没有没有cd到home好像没有效果)
cd /home
java -Djava.security.egd=file:/dev/./urandom -jar user-provider/users-provider-1.0.0.jar
4、测试
关闭SSH远程连接窗口,然后测试是否能访问项目,结果可以访问。
screen -r test #查看之前的运行项目的会话虚拟终端
可以看到有一个会话还在继续进行,目的达到!
解决方法(2): 使用nohup命令,比如上面运行jar包的命令为:nohup java -Djava.security.egd=file:/dev/./urandom -jar user-provider/users-provider-1.0.0.jar&