上代码
将运行日志输入到 logs.txt (jar包所在的目录)
nohup java -jar xxx.jar >logs.txt &
分解介绍
- 首先最基本的运行jar包命令是:
java -jar xxx.jar
这个命令会锁定命令窗口,只能看到当前运行的输出信息。而无法发送其他指令。
这种方式当ssh窗口关闭时,程序中止运行,或者是运行时没法切出去执行其他任务
- 让jar包后台运行
用"&
"符号结尾表示,让程序在后台运行。
这样的话,命令窗口就不会被锁定,而可以发送其他指令,但是当窗口关闭时,后台运行的程序依然会被停止。
nohup
命令:nohup
命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断信号。要运行后台中的 nohup
命令,添加 &
( 表示“and”的符号)到命令的尾部。
简单地说就是,nohup
命令可以阻止窗口关闭是的挂断信号,使程序继续运行。这样,命令就修改为了
nohup java -jar xxx.jar &
- 设置输出文件
在这个命令下已经可以实现需要的功能了。最后的 >logs.txt
表示输出文件。可以随意写随意指定路径。如果不写情况下(缺省),就回默认在jar包所在目录,创建nohup.out
文件。
如果项目中已经指定了日志输出,就会重复输出,生成两个文件,把 >logs.txt
删了的话,当前的运行程序不会再生成新的文件。
nohup java -jar xxx.jar >logs.txt &
命令运行成功后,会返回一个进程号,可以通过 kill -9
命令杀死这个进程来直接关闭。
如果忘了进程号,可以通过
ps -ef|grep xxx.jar
来查看当前运行的jar包程序进程号
查询当前活动的进程
ps -aux|grep java
查看linux系统内存大小的详细信息,可以查看总内存,剩余内存、可使用内存等信息
cat /proc/meminfo