在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结束进程

相关推荐
CoderCodingNo22 分钟前
【GESP】C++四级/五级练习题 luogu-P1223 排队接水
开发语言·c++·算法
像少年啦飞驰点、38 分钟前
零基础入门 Spring Boot:从“Hello World”到可上线微服务的完整学习指南
java·spring boot·微服务·编程入门·后端开发
sycmancia1 小时前
C++进阶01——示例
开发语言·c++
CoderCodingNo1 小时前
【GESP】C++五级/四级练习题 luogu-P1413 坚果保龄球
开发语言·c++·算法
眼眸流转1 小时前
Java代码变更影响分析(一)
java·开发语言
Yvonne爱编码1 小时前
JAVA数据结构 DAY4-ArrayList
java·开发语言·数据结构
阿猿收手吧!1 小时前
【C++】C++原子操作:compare_exchange_weak详解
java·jvm·c++
Trouvaille ~1 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
Next_Tech_AI1 小时前
别用 JS 惯坏了鸿蒙
开发语言·前端·javascript·个人开发·ai编程·harmonyos
chillxiaohan1 小时前
GO学习记录——多文件调用
开发语言·学习·golang