由于Spring Boot内置了tomcat容器,通常会把项目打成jar或者war包后直接使用java jar xxx.jar命名去运行程序,但是ssh窗口被锁定或者按下ctrl+c又或者关闭了ssh窗口,那么程序就会被终止。如何让程序在后台保持运行不被关闭呢?
解决方法
方案一
java -jar shereniu.jar &
代码解释:
- & 代表后台运行
- 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序终止运行
改进:如何让窗口关闭时,程序仍然运行?
方案二
nohup java -jar shareniu.jar &
代码解释:
- nohup 意思是不挂断运行命令,当账户退出或者终端关闭时,程序仍然运行
当用nohup命令执行作业时,缺省情况下该作业的所有输出将被重定向到nohup.out的文件中,除非另外指定输出文件
方式三
nohup java -jar shareniu.jar > out.txt &
代码解释
- out.txt是将启动的日志文件重定向到out.txt文件,即输出内容不打印到屏幕上,而是输出到out.txt文件中
如何停止后台进程
netstat -anp
可以查看所有后台运行的程序,找到其pid然后执行命令kill -9 669
。669是pid