zoukankan      html  css  js  c++  java
  • Linux下如何让jar包程序在后台一直执行

    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

    方法一

    nohup java -jar xxx.jar &
    

    &:使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。

    nohub:nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。默认让程序控制台输出转移到nohub.out文件,位置在当前命令所在目录。

    你也可以更改nohub.out文件为其他,比如:

    nohup java -jar xxx.jar >out.file 2>&1 &
    
    • >out.file1 是将前面命令的输出重定向到 out.file 文件,即输出内容不打印到屏幕上,而是输出到 out.file 文件中。

    • 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。

    • 最后一个&, 是让该命令在后台执行。

    如果你在执行命令后提示未找到命令,换下一种方法。

    方法二

    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

    先在执行的命令后加 &>out.log 转移控制台输出到文件可加可不加:

    java -jar xxx.jar >out.log &
    

    还有最关键的一步,在退出shell会话时,不可直接关闭程序,应输入命令:

    exit
    

    直接点关闭程序按钮关闭终端,会断掉该命令所对应的session,导致当前后台进程被通知需要一起shutdown。这或许是你此刻不成功的原因吧~


    参考资料 Linux jar包后台运行

    版权声明

    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

  • 相关阅读:
    clientHeight和offsetHeight
    bus事件总线传值
    解决英文溢出不换行
    小程序熏染可滑动动态导航
    个人样式小结
    数组删除元素
    vue封装swiper
    大佬的接口玩玩
    Java探针技术-JVM的动态agent机制:在main函数启动之后运行agent
    Java探针技术-Instrumentation与ClassFileTransformer--字节码转换工具
  • 原文地址:https://www.cnblogs.com/onblog/p/13043468.html
Copyright © 2011-2022 走看看