日期:2014-05-16  浏览次数:20710 次

Linux下,printf将东西输出到哪了?
都打印在屏幕上了吗?
------解决方案--------------------
文件里
------解决方案--------------------
写在STDOUT这个fd里,如果没有重定向,一般是当前终端
------解决方案--------------------
就是fd为1的文件句柄上
比方mysql
# ll /proc/2303/fd
total 0
lr-x------. 1 root root 64 Aug 26 10:28 0 -> /dev/null
l-wx------. 1 root root 64 Aug 26 10:28 1 -> /var/log/mysqld.log
lrwx------. 1 root root 64 Aug 26 10:28 10 -> socket:[15099]

------解决方案--------------------
默认是stdout,当前终端,但是stdout默认是有缓冲的,因此没显示的话最好在printf后紧跟fflush函数,将数据从缓冲中弄出来给我分
------解决方案--------------------
"文件"
------解决方案--------------------
要看启动这个命令的时候有没有重定向