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效率上来说更好。
  • 相关阅读:
    Android 手机摇一摇功能的实现
    Android 只开启一个Activity实例
    android 获取Datepicker日期
    帧动画
    进度条ProgressDialog
    AlertDialog错误
    ListView加checkBox可以实现全选等功能
    一些自己常用的工具类
    错层
    Parallax
  • 原文地址:https://www.cnblogs.com/lyhero11/p/13379654.html
Copyright © 2011-2022 走看看