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

相关推荐
itjinyin6 分钟前
ShardingSphere-jdbc 5.5.0 + spring boot 基础配置 - 实战篇
java·spring boot·后端
松☆8 分钟前
C++ 算法竞赛题解:P13569 [CCPC 2024 重庆站] osu!mania —— 浮点数精度陷阱与 `eps` 的深度解析
开发语言·c++·算法
耿雨飞8 分钟前
Python 后端开发技术博客专栏 | 第 06 篇 描述符与属性管理 -- 理解 Python 属性访问的底层机制
开发语言·python
丶小鱼丶8 分钟前
Java虚拟机【JVM】
java·jvm
耿雨飞11 分钟前
Python 后端开发技术博客专栏 | 第 08 篇 上下文管理器与类型系统 -- 资源管理与代码健壮性
开发语言·python
csdn2015_13 分钟前
IDEA配置Continue
java·ide·intellij-idea
2601_9491942632 分钟前
Python爬虫完整代码拿走不谢
开发语言·爬虫·python
北山有鸟40 分钟前
【学习笔记】MIPI CSI-2 协议全解析:从底层封包到像素解析
linux·驱动开发·笔记·学习·相机
mounter6251 小时前
深度解析:Linux 内核为何要移除“直接映射” (Direct Map)?
linux·运维·服务器·security·linux kernel·direct mem map
c***89201 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python