springboot在Linux服务器一般是采用Jar包的形式部署
1、正常在Ubuntu系统下启动jar包的方式:
$ java -jar test.jar
2、但是这样部署,如果通过ssh连接的客户端断开,那么项目也会关闭。而我们希望的是让项目能够一直在后台运行。
那么就需要下面的命令来启动jar包:
$ nohup java -jar test.jar &
nohup指令就是让程序不挂断的在后台持续运行,输出信息默认会输出到nohup.out 文件中
3、如果我们希望把本地开发时输出到console控制台的信息输入到一个txt文本,那么就需要下面的指令:
$ nohup java -jar test.jar >log.txt &
有时输入这个指令会出现以下问题
nohup: ignoring input and redirecting stderr to stdout
这是因为没有写入权限导致的。
这时可以通过Linux的重定向解决这个问题:
$ nohup java -jar test.jar > log.txt 2>&1 &
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
4、当项目部署之后,可以通过jobs命令查看后台的程序
$ jobs
同时如果想让某个程序调回前台控制,可以使用fg命令
$ fg + 序号
// 每个后台运行的程序都有一个序号