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

相关推荐
崎岖Qiu8 分钟前
leetcode380:RandomizedSet - O(1)时间插入删除和获取随机元素(数组+哈希表的巧妙结合)
java·数据结构·算法·leetcode·力扣·散列表
快乐肚皮9 分钟前
Redis消息队列演进史
java·redis
AppleWebCoder10 分钟前
Java大厂面试实录:AIGC与虚拟互动场景下的微服务与AI落地(附知识详解)
java·spring boot·微服务·ai·消息队列·aigc·虚拟互动
ybq1951334543113 分钟前
javaEE-Spring IOC&DI
java·spring·java-ee
nmxiaocui20 分钟前
Linux 用户和用户组管理
linux·运维·系统安全
ajassi200037 分钟前
开源 C++ QT Widget 开发(十六)程序发布
linux·c++·qt·开源
淮北也生橘1239 分钟前
Linux的V4L2视频框架学习笔记
linux·笔记·学习·音视频·嵌入式linux
ts97741 分钟前
在centOS源码编译方式安装MySQL5.7
linux·运维·centos
渣哥42 分钟前
shutdown 和 shutdownNow 有啥不一样?一文看懂 Java 线程池关闭方式
java