Shell_重定向输出并永久后台执行命令:nohup command>文件路径 2>&1 &

前言

Linux中常用到,nohup command>文件路径 2>&1 &,来后台执行命令。

  • /dev/null 表示空设备文件,/dev/null 就像是一个回收站,任何写入该文件的内容都会被清除,用来清除打印。
  • 0 表示stdin标准输入
  • 1 表示stdout标准输出
  • 2 表示stderr标准错误

nohup

    始终不停的运行命令,即使在你的用户账户已经退出的情况下。如果需要在后台永久的运行命令采用:nohup + ... (Commnd) + &

    值得注意的是&:在后台运行命令,账户退出后,命令自动跟着退出。

编写测试用例

写入结果到指定文件 

第一条语句a_error_command_test是一条错误的指令,date是可执行指令,返回当前时间。

vim nohup.sh内容:

a_error_command_test
date

>

现在我们输出结果到nohup_sh.log文件中(如果输出文件不存在将会自己创建):

上面执行了两遍命令可知:>是覆盖写入。

>>

由形象便可知:>>相对于>多了个>,即为追加的意思

 sh nohup.sh >> nohup_sh.log 
 cat nohup_sh.log

2>&1 

nohup command>/dev/null 2>&1 &

  • /dev/null 表示空设备文件
  • 0 表示stdin标准输入
  • 1 表示stdout标准输出
  • 2 表示stderr标准错误

上面我们的>写入其实相对于是

sh nohup.sh > nohup_sh.log 1>&1

好理解的:2比1多一个错误重定向输出

sh nohup.sh > nohup_sh.log 2>&1

&

 在后台运行命令,账户退出后,命令自动跟着退出

重新编写nohup.sh脚本:

#! /bin/sh
while(true)
do
echo "hello world!"
date
sleep 6
done

如果不加&后台运行,将在前台一直输出,查看输出文件:

sh nohup.sh >> nohup_sh.log &

tail -f nohup_sh.log

但是,断开shell连接会话会停止该进程,重连后查看日志:

 nohup command>/dev/null 2>&1 &

即使用户退出也永久的执行命令。 nohup + command &

nohup sh nohup.sh >> nohup_sh.log  2>&1 &

tail -f nohup_sh.log

2021-1-6

java -cp test.jar com.xxx.xxx 2>> test.txt &

将xxx中的System.err.out的输出内容重定向到test.txt文件,这样做的目的:只打印出system输出内容,筛选掉kafka或springboot在控制台打印的信息

2022-11-16

nohup + &打印日志自动清理:

while :; do
    echo "" > provider.log
    echo "" > consumer.log
echo "=========================================================================================="
    echo $(date +%F%n%T)  'log clear end'
    sleep 1d
done
#nohup sh clear.sh >> clear.log 2>&1 &

😘如果对你有所帮助点个赞,给点小动力,谢谢啦~ 

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长臂人猿

客官们众筹请博主喝杯奶茶吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值