Linux 系统下后台如何运行 jar 包

所有展示的截图,示例的是 SpringBoot 项目打包好后的 jar 包,本示例以我自己的项目为例。

方式一

该种方式运行的,会被锁定在当前的窗口中,关闭窗口会关闭程序,Ctrl+C 也可以结束该程序

java -jar XXXX.jar

image-20201019185930535

方式二

方式一 的基础上后面加上一个 &,表示在后台运行。当前窗口就可以继续其他操作,而不会被锁定;但关闭窗口会结束当前程序。

java -jar XXXX.jar &

image-20201019190523094

方式三

方式二 的基础上前面加上一个 nohup,表示将不挂断当前运行命令,所以当账户退出,或终端关闭也是可以运行的。并且 nohup 命令执行作业的时候,默认条件下,该程序所有的输出会被重定向到 nohup.out 的文件中,除非指定了其他出文件。

nohup java -jar XXXX.jar &

image-20201019190018629
看项目目录,会多一个 nohup.out 文件
image-20201019190126168
打开文件,可以看到是刚刚输出在控制台的内容
image-20201019190237986

方式四

方式三 的基础上后面加上指定的输出的文件,运行的程序就会打印到指定的文件中,而不会在屏幕上打印出来。

nohup java -jar XXXX.jar >/XXX/XXX &

image-20201019190707286
目录下,多了一个文件 run_log_0.0.1.out 文件
image-20201019190727177
在当前终端没有关闭的情况下,使用 jobs 可以查看后台正在运行的任务。

jobs

image-20201019190304523
每个任务前面都有一个编号,可以使用 fg + 编号 将任务调回前台控制

fg 1

image-20201019190324802
但是当前终端关闭后,再次开启使用命令 jobs 就看不到当前的任务了,不过如果是项目的话,会有端口的占用,你可以使用下面这个命令查看当前占用的任务

netstat -nlp |grep :8080

image-20201019185646300
使用 kill + 进程号 关闭进程

kill 24396

image-20201019185743743
参考博客:https://blog.csdn.net/qq_37859539/article/details/86498304

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hiram Fan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值