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 + 序号
// 每个后台运行的程序都有一个序号
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐