nohup & python

本来想测试下nohup的用法,去执行一个python脚本:nohup python test.py > out.log &

结果郁闷啊,怎么都查看不到输出!

……

……

终于找到了答案:

python的输出又缓冲,导致out.log并不能够马上看到输出。

-u参数,使得python不启用缓冲。

所以改正命令:nohup python -u test.py > out.log &

终于正常了!

只输出错误信息到日志文件

nohup ./program >/dev/null 2>log &

什么信息也不要

nohup ./program >/dev/null 2>&1 &

知识补充,关于Linux的重定向

Linux的3中重定向

0:表示标准输入

1:标准输出,在一般使用时,默认的是标准输出

2:标准错误信息输出

可以用来指定需要重定向的标准输入或输出。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。

关于/dev/null文件

Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

猜你喜欢

转载自yzyzero.iteye.com/blog/2047232
今日推荐