方式一:
java -jar lf-test-1.0-SNAPSHOT.jar
前台运行,当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。
方式二:
java -jar lf-test-1.0-SNAPSHOT.jar &
& 代表在后台运行,当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
方式三:
nohup java -jar lf-test-1.0-SNAPSHOT.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
方式四:
nohup java -jar lf-test-1.0-SNAPSHOT.jar & > log.txt
和方式三差不多,只不过所有控制台输出内容保存到 log.txt 文件中
方式五:
nohup java -jar -Xms512M -Xmx2048M -XX:PermSize=512M -XX:MaxPermSize=1024M project.jar
说明:
Xms:堆内存初始大小
Xmx:堆内存最大值
PermSize:永久内存初始大小
MaxPermSize:永久内存最大值
堆内存和永久内存区别以及其他参数设置,参考jvm运行机制
拓展 linux 工作管理知识:
jobs :查看当前有多少在后台执行的命令(包含正在运行或暂停的命令)
ctrl + z :将一个正在前台执行的命令放到后台,并且暂停
bg %num :将一个在后台暂停的命令继续执行
fg %num :将一个在后台执行的命令调至前台继续执行
kill %num :杀死在后台执行的命令
PS: num是指工作号,注意区分pid
1. 启动命令
命令行:nohup java -jar xxx.jar --spring.profiles.active=prod > catalina.out 2>&1 &
参数解释:A. xxx.jar代表完整的jar包名;
B. --spring.profiles.active=prod 是根据不同的环境部署值;
C. catalina.out指输出的日志文件名;
D. 2>&1指输出所有的日志文件;
E. &代表后台启动,指ctrl+c不会退出程序;
2. 停止命令
命令行:kill -9 pid
参数解释:kill用于删除执行中的程序;
9代表强制删除程序;
pid代表进程号;
nohup java -jar -Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M XXX.JAR --spring.profiles.active=prod &