Linux下后台运行Java程序

这篇具有很好参考价值的文章主要介绍了Linux下后台运行Java程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、背景描述

用Java编写了一个程序(可执行的jar),需要在Linux中启动并持续运行

1.1、直接执行程序

Linux下后台运行Java程序

直接执行程序后,在程序执行期间,无法在当前会话中再执行其他操作

1.2、直接执行程序后中断

Linux下后台运行Java程序

直接执行程序后,按Ctrl+C中断;这时虽然可以在当前会话中执行其他操作,但是程序也结束运行了

1.3、直接执行程序后开启新会话

Linux下后台运行Java程序

直接执行程序后,在新会话中不仅可以执行其他操作,而且旧会话中的程序也还在持续运行

Linux下后台运行Java程序

但是,把旧会话关闭后,程序也随之结束了

2、解决方式

2.1、使用 &

  • & :表示程序在后台运行,这样就可以在程序的执行期间,还能在当前会话中执行其他操作

  • 使用格式:command &

Linux下后台运行Java程序

注意:

在执行程序的命令后使用 > test.log 的作用,是为了将程序的输出信息从标准输出重定向到(test.log)文件中

单独使用 & , 只能实现在程序的执行期间,还能在当前会话中执行其他操作;但关闭当前会话,程序依然会自动结束

java -jar test_script.jar > test.log &

2.2、使用 nohup

  • nohup:英文全称 no hang up ,用于在系统中不挂断地运行命令,即使退出终端也不会影响程序的运行

  • 使用格式:nohup command

Linux下后台运行Java程序

注意:

单独使用 nohup ,只能实现关闭当前会话后,程序依然能继续运行,但无法在当前会话中再执行其他操作;
强行使用Ctrl+C中断的话,这时虽然可以在当前会话中执行其他操作,但是程序也结束运行了

nohup 会默认将程序的输出信息从标准输出重定向到当前目录的nohup.out文件中;
因此可以不用额外使用 > test.log 将程序的输出信息从标准输出重定向到(test.log)文件中

nohup java -jar test_script.jar

2.3、结合使用 nohup 和 &

单独使用 & , 只能实现在程序的执行期间,还能在当前会话中执行其他操作;但关闭当前会话,程序依然会自动结束

单独使用 nohup ,只能实现关闭当前会话后,程序依然能继续运行,但无法在当前会话中再执行其他操作

结合使用 nohup 和 & ,能同时实现:在程序的执行期间,还能在当前会话中执行其他操作;关闭当前会话后,程序依然能继续运行

  • 结合使用格式:nohup command &

Linux下后台运行Java程序

结合使用 nohup 和 & 后,无论是按回车,还是按Ctrl+C,或者是关闭当前会话,都不影响程序的运行

 nohup java -jar test_script.jar &

3、扩展知识

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

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

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

Linux下后台运行Java程序文章来源地址https://www.toymoban.com/news/detail-661440.html

到了这里,关于Linux下后台运行Java程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Java(Springboot框架) 后台课程学习小程序系统设计与实现研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(36)
  • JAVA微信小程序商城源码带完整后台运行版

    JAVA微信小程序商城源码带完整后台运行版 架构为springmvc+mybatis+spring+maven+mysql  后台前端使用boostrap-ace技术  前台前端使用h5+css3 1.后台支持https   2.图片路径可配置   3.增加nginx+tomcat的配置文件 4.代码完全开源   5.修改部分bug   6.增加API接口文档 功能:二级分类:采用二

    2024年01月25日
    浏览(29)
  • 我用爬虫写了一个小程序

    一天我在微信小程序上面发现有很多表情包或者壁纸一类的小程序,我就在想我可不可以做一个类似的小程序呢? 想法 最开始的时候想法比较简单,就是写一个接口然后上传表情包或者壁纸(到处是下载,哈哈哈)。 然后根据分类以及标题进行搜索已达到其效果;但是让我没

    2024年02月07日
    浏览(38)
  • 我写了一个用来刷题的微信小程序

    目录 土著刷题是一个什么工具? 为什么要做土著刷题这样一个产品? 当前版本的规划 版本效果 土著刷题微信小程序,一款免费的刷题小程序,提供多种刷题模式,可以分享题库给小伙伴一起刷,针对特定题库的用户群体。 对于为什么要开发这个刷题小程序,这可以说是一

    2024年02月10日
    浏览(38)
  • IDEA运行第一个Java简单程序(新建项目到运行类)

    目录 前言 一、准备工作 JDK下载安装 1.IDEA下载安装  二、IDEA建立项目 (一)新建项目(银河系) (二)新建模块(地球) (三)新建包(国家) (四)新建类(省份) (五)新建main方法(省会城市) (六)新建方法(楼层)  运行类 额外讲解 在刚开始学习Java中,会遇

    2024年01月16日
    浏览(39)
  • 花了亿点点时间,写了一个赶海和茶艺小程序:探索多重功能,开启精彩互动之旅!

    在繁忙的生活中,我们常常渴望找到一个灵感迸发、充满艺术与智慧的休憩之所。幸运的是,经过小编没日没夜的奋斗,赶海和茶艺小程序应运而生,为您带来一系列令人惊喜的功能,让您尽情享受多重体验。 赶海和茶艺小程序融合了多种功能,带给您全方位的娱乐、学习和

    2024年02月06日
    浏览(56)
  • 2、有序链表的维护【问题描述】编写一个程序,根据从标准输入接收的指令来维护和操作排序的链表(C语言、java和Python分别实现)

    【问题描述】 编写一个程序,根据从标准输入接收的指令来维护和操作排序的链表。链表是按顺 序维护的,这意味着链表中的数据在每次操作后都以递增的数字顺序存储。 请注意,在创建新节点时,需要使用malloc为它们分配空间;一旦不再需要任何已 分配的空间,就应该使

    2024年02月09日
    浏览(32)
  • CUDA简介, 配置和运行第一个CUDA程序(Windows和Linux)

    CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一种通用并行计算架构。CUDA允许程序员利用NVIDIA GPU的并行计算能力,加速各种计算密集型应用程序。 CUDA技术基于GPU的并行计算原理。传统的CPU处理器拥有少量的核心,可以同时执行少量的线程。但是,现代GPU拥有数百甚至上

    2024年01月21日
    浏览(26)
  • 【Linux】Linux系统后台运行脚本方法

    我们使用Linux搭建服务器之后,经常需要在服务器上运行一些脚本,例如定期检查网络连通性并保存出错日志等。在写好批处理文件(.sh)文件之后,如果是Ubuntu系统,直接登陆上去之后单独启动一个终端并运行.sh文件就可以了。但是如果是没有GUI的Cent OS的话,在我们断开连

    2024年02月04日
    浏览(29)
  • 如何利用Docker快速搭建一个支持java程序运行的环境(Ubuntu环境下)

    简单来说,docker是一种类似于虚拟机的虚拟技术。 但它们的不同之处在于,虚拟机占用了完全独立的内存,cpu,硬盘等资源,而docker只提供了完全独立的进程,而与其它进程公用计算机处理资源,在某种意义上来说,docker以更简单方便的方法实现了类似于虚拟机的体验效果,

    2024年02月01日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包