转载自https://juejin.im/post/5b47411ee51d45190570ce6d

最终的运行命令:

nohup java -jar xxx.jar >logs.txt &
复制代码

下面再做详细分解介绍。

1.首先最基本的运行jar包命令是:

java -jar xxx.jar
复制代码

这个命令会锁定命令窗口,只能看到当前运行的输出信息。而无法发送其他指令。

2.让jar包后台运行

用"&"符号结尾表示,让程序在后台运行。
这样的话,命令窗口就不会被锁定,而可以发送其他指令,但是当窗口关闭时,后台运行的程序依然会被停止。

nohup命令:nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断信号。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

简单地说就是,nohup命令可以阻止窗口关闭是的挂断信号,使程序继续运行。这样,命令就修改为了

nohup java -jar xxx.jar &
复制代码

3.设置输出文件

在这个命令下已经可以实现需要的功能了。最后的 >logs.txt 表示输出文件。可以随意写随意指定路径。如果不写情况下(缺省),就回默认在jar包所在目录,创建nohup.out文件。

如果项目中已经指定了日志输出,就会重复输出,生成两个文件,把 >logs.txt 删了的话,当前的运行程序不会再生成新的文件。

nohup java -jar xxx.jar >logs.txt &
复制代码

命令运行成功后,会返回一个进程号,可以通过 kill -9 命令杀死这个进程来直接关闭。

如果忘了进程号,可以通过

ps -ef|grep xxx.jar
复制代码

来查看当前运行的jar包程序进程号。


 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐