在linux中如何后台运行java项目(详细)

目录

1.查看是否安装有jdk环境

2.将打包好的jar上传到linux服务器上

3.运行java程序

直接运行:

[使用 &](#使用 &)

[使用 nohup + &](#使用 nohup + &)

扩展知识


1.查看是否安装有jdk环境

java -version

如果可以查看到jdk版本 ,那就代表环境配置好了

2.将打包好的jar上传到linux服务器上

3.运行java程序

直接运行:

java -jar jar包名

直接运行的弊端:

  • 直接执行程序后,在程序执行期间,无法在当前会话中再执行其他操作
  • 直接执行程序后,按Ctrl+C中断;这时虽然可以在当前会话中执行其他操作,但是程序也结束运行了
使用 &
  • & :表示程序在后台运行,这样就可以在程序的执行期间,还能在当前会话中执行其他操作

  • 使用格式:command &

java -jar hzlHotal-1.0-SNAPSHOT.jar &

注意:

  • 单独使用 & , 只能实现在程序的执行期间,还能在当前会话中执行其他操作;但关闭当前会话,程序依然会自动结束
使用 nohup + &
  • nohup:英文全称 no hang up ,用于在系统中不挂断地运行命令,即使退出终端也不会影响程序的运行

  • 使用格式:nohup command

注意:

  • 单独使用 nohup ,只能实现关闭当前会话后,程序依然能继续运行,但无法在当前会话中再执行其他操作;强行使用Ctrl+C中断的话,这时虽然可以在当前会话中执行其他操作,但是程序也结束运行了
  • nohup 会默认将程序的输出信息从标准输出重定向到当前目录的nohup.out文件中;因此可以不用额外使用 > test.log 将程序的输出信息从标准输出重定向到(test.log)文件中

使用nohup + &

  • 单独使用 & , 只能实现在程序的执行期间,还能在当前会话中执行其他操作;但关闭当前会话,程序依然会自动结束
  • 单独使用 nohup ,只能实现关闭当前会话后,程序依然能继续运行,但无法在当前会话中再执行其他操作
  • 结合使用 nohup 和 & ,能同时实现:在程序的执行期间,还能在当前会话中执行其他操作;关闭当前会话后,程序依然能继续运行
  • 结合使用格式:nohup command &
  • 后台启动,控制台退出不会关掉应用

nohup java -jar hzlHotal-1.0-SNAPSHOT.jar &

  • 后台启动并且输出日志,控制台退出不会关掉应用

nohup java -jar hzlHotal-1.0-SNAPSHOT.jar >> ./register.log 2>&1

扩展知识

当结合使用 nohup 和 & 执行程序后,要么程序执行完毕后自动结束(如果程序有结束条件),要么手动结束该进程

  • ps -aux | grep 程序名:通过程序名找到进程信息

  • kill -9 进程ID:通过进程ID结束进程

相关推荐
weixin_440784111 小时前
【HandlerThread实现原理】
android·java·开发语言
天空'之城1 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
leoZ2311 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
XR1234567881 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
杨云龙UP2 小时前
MySQL 数据库常用备份工具对比:mysqldump、mydumper 与 XtraBackup
linux·运维·服务器·数据库·mysql·dba·备份恢复
傻啦嘿哟2 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
現実君3 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
mubei-1233 小时前
SpringDAO的用法
java·开发语言·数据库
happymagic3 小时前
java spring boot做的jar包程序,如何实现自动运行启动
java·运维·服务器·spring boot·jar
风曦Kisaki3 小时前
Kubernetes(K8s)笔记Day06: 持久化存储(emptyDir,hostPath,NFS),PV 和 PVC,StorageClass存储类
linux·运维·笔记·云原生·容器·kubernetes