void main(){
fprintf(stdout,"stdout!");
fprintf(stderr,"stderr!");
printf("printf!");
}
编译成可执行文件test.out,分别执行,请请观察运行结果
./test.out
./test.out > tmp.txt
./test.out 2> tmp.txt
./test.out &> /dev/null
./test.out >> tmp.txt 2>&1
stderr错误非常重要,如果现网程序处理不当,可能会丢失重要信息
import sys
sys.stderr.write("this is a error message")
sys.stdout.write("this is a normal message")
import subprocess
# 执行shell命令,通过subprocess来获取stdout和stderr的值
def exec_shell(cmd):
child = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
child.poll() # 检查子进程状态
print child.stdout.read() # 不会自带换行
print child.stderr.read()
参考内容:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。