• 解析nohup java -jar xxx &


    一直就知道 java -jar xx ctrl+c就退出了

    来自这个文

    https://blog.csdn.net/wngpenghao/article/details/83022185

    java -jar XXX.jar &
    命令结尾没有 “&” ,则变成 “java -jar XXX.jar ” ,表示在当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出
    命令结尾添加 “&” ,则变成 “java -jar XXX.jar &” ,表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行。
    nohup java -jar XXX.jar > Log.log &
    或者
    nohup java -jar XXX.jar >> Log.log &
    命令 "nohup java -jar XXX.jar &" 部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。注意,该作业的所有输出被重定向到nohup.out的文件中。
    命令 "nohup java -jar XXX.jar > Log.log &" 部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,并且该作业的所有输出被重定向到Log.log的文件中。“ > Log.log ” 该命令就是指定日志输出的文件。
    ">>"表示将输出以追加的方式重定向到Log.log中。
    nohup java -jar XXX.jar > Log.log 2>&1 &
    或者
    nohup java -jar XXX.jar >> Log.log 2>&1 &
    或者
    nohup java -jar XXX.jar > /dev/null 2>&1 &
    标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
    标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
    标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
    屏蔽输出,起到禁止输出作用:/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
    “> Log.log 2>&1” :表示将 stdout 和 stderr 合并后重定向到 Log.log

    示例:

    nohup java -jar BiuBiuBiu.jar >output 2>&1 &

    解释:
     1. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上); 

     2. 2>&1的意思 

      这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的. 

      这就是为什么有人会写成: nohup ./command.sh >output 2>output出错的原因了 
    ————————————————
    版权声明:本文为CSDN博主「BiuBiuBiu___」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/BiuBiuBiu___/article/details/86140083

    最后谈一下/dev/null文件的作用,这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。 所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里    ./start.sh >/dev/null 2>&1 

    一般不需要查看日志的就直接丢掉丢掉

    nohup java -jar BiuBiuBiu.jar >/dev/null 2>&1 &
    ————————————————
    版权声明:本文为CSDN博主「BiuBiuBiu___」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/BiuBiuBiu___/article/details/86140083

    备注:输出之后,可以使用“jobs”查看一下后台运行的任务。
    ————————————————
    版权声明:本文为CSDN博主「滴水可藏海」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wngpenghao/article/details/83022185

  • 相关阅读:
    Spring Richclient — 企业级富客户端开发框架介绍,第 1 部分
    oracle的表名、字段名、constraint名的长度限制分别是多少?
    eclipse指定启动的jdk
    女人为什么爱攀比?
    Oracle一些常用的查询命令总结(持续更新)
    js冒泡事件之之之
    Aspose插件
    oracle11g导入到10g
    转:OpenCms 9.0.1汉化
    metasploit常用命令
  • 原文地址:https://www.cnblogs.com/heroinss/p/11592860.html
Copyright © 2020-2023  润新知