具体的问题就是,我在将spring-boot工程部署到服务器后(jar包形式),运行命令:
java -jar project-name.jar
启动项目之后, 项目正常运行.
当你把你执行的命令窗口关闭之后, 再去访问你的项目的时候, 你会发现刚刚启动的 spring-boot 项目, 已经关闭没有办法访问了.
可以使用进程命令查看一下, 发现该服务已经关闭了.
原因是因为, 命令窗口关闭之后, 对应的服务已经关闭了.
上一种解决方案吧. 我不认为这个是特别好的解决方案. 但是也是一种方案.
运行命令:
nohup java -jar **.jar &
nohup: 不挂断的执行命令,忽略所有的挂断信号。 运行后台命令 最后加 &
在jar目录下会生成一个nohup.out文件,默认的log输出到这里了。
更新一下
已经启动的, 如何关闭呢? 这里使用查找端口的方式, 进行查找对应的进程, 并kill掉
netstat -nap|grep 7000
// 我的端口号为 7000
netstat -nap|grep 7000
tcp 0 0 0.0.0.0:7000 0.0.0.0:* LISTEN 27808/java
使用
kill -9 进程号
kill -9 27808
就关闭对应的进程了, 这样对应的服务也就关闭了. 很暴力.
具体的nohup用法请自行查找。
上边如果有什么问题, 欢迎指正. 你提出来, 我再找到解决方案之后, 我再来更新博客.