码迷,mamicode.com
首页 > 其他好文 > 详细

nohup、&、以及>/dev/null 2>&1

时间:2020-07-26 16:00:44      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:继承   使用   name   parallel   nohup   就是   sina   输出重定向   read   

日志没有打在指定文件上,以及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效率上来说更好。

nohup、&、以及>/dev/null 2>&1

标签:继承   使用   name   parallel   nohup   就是   sina   输出重定向   read   

原文地址:https://www.cnblogs.com/lyhero11/p/13379654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!