我们一般的会使用 nohup & 让程序在后台挂起,一般程序挂起后,会在程序目录输出 nohup.out的日志文件,随着时间的推移,此文件会越来越大,最后可能会占很大的一块硬盘空间,
因此我们需要改善这种情况,命令如下。
只输出错误信息到日志文件:
nohup ./run.sh >/dev/null 2>log &
什么信息也不要:
nohup ./run.sh >/dev/null 2>&1 &
关于/dev/null
/dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容。它就像一个黑洞,我们一般会把/dev/null当成一个垃圾站,不要的东西丢进去。比如来清除文件中的内容。
linux的重定向
0:表示标准输入;
1:标准输出,在一般使用时,默认的是标准输出;
2:表示错误信息输出。
./run.sh >/dev/null 2>log表示将run.sh的错误信息输出到log文件,其他信息丢进/dev/null。
./run.sh >/dev/null 2>&1表示将run.sh的错误信息重定向到标准输出,其他信息丢。