zoukankan      html  css  js  c++  java
  • nohup、&、以及>/dev/null 2>&1

    日志没有打在指定文件上,以及springboot自动shutdown问题:

    https://blog.csdn.net/sinat_39572070/article/details/79931355

    https://www.cnblogs.com/cyttina/p/7588802.html


    正例: 
    nohup ${JAVA_BIN}/java -jar -javaagent:/pinpoint/agent/pinpoint-bootstrap-1.8.3.jar -Dpinpoint.applicationName=${ppjarname}
    -Dpinpoint.agentId=${ppjarname}100 ${jarhome}/${jarname} --spring.profiles.active=prod >/dev/null 2>&1 &
    反例:
    /usr/bin/java -jar /home/hzbs/gateway/gateway-0.0.1-SNAPSHOT.jar --spring.profiles.active=jty
    -Xmx3550m -Xms3550m -Xmn2g -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC >> ${jarhome}/logs/log.log 2>&1 &

    (1)、nohup command & 意思是不挂起并且在后台运行中间的command
     
    (2)、command >/dev/null 2>&1  等同于command 1>/dev/null 2>&1 , 意思是将command产生的输出重定向到/dev/null,也就是丢弃,/dev/null是个“黑洞”、 空设备文件, 同时将stderr重定向到stdout处, 1代表标准输出,2代表标准错误输出。
     
    (3)、为什么是command 1>/dev/null 2>&1 ,而不是command 1>/dev/null 2>/dev/null ?
    因为command 1>/dev/null 2>/dev/null 会打开设备文件两次,stdout和stderr直接输入文件,产生fd1、fd2两个句柄争用文件的管道,会相互覆盖。
    而command 1>/dev/null 2>&1文件只会被打开一次,stdout直接输入到文件,而stderr继承了fd1的管道之后再输入文件,文件只被打开了1次也只使用了fd1一个管道,包括了stdout和stderr的内容。从io效率上来说更好。
  • 相关阅读:
    1265 四点共面
    1003 阶乘后面0的数量
    1080 两个数的平方和
    1090 3个数和为0
    1087 1 10 100 1000
    1082 与7无关的数
    OpenLayers工作原理
    CI(持续集成)CD(持续交付)
    打包命令
    文件与目录管理重点
  • 原文地址:https://www.cnblogs.com/lyhero11/p/13379654.html
Copyright © 2011-2022 走看看