linux shell 重定向 > 问题

linux shell 重定向 > 问题

最近遇到一个重定向的问题,情况是这样的:main函数最后是死循环,就像这样

#include 

int main(int argc, char **argv)
{   
    printf("hello world\n");
    
    while(1)
    {
        sleep(30);
    }

    return 0;
}

编译后运行并且重定向到tmp.log,像这样

./app > tmp.log

在另一个终端查看tmp.log,猜猜tmp.log里面有没有hello world字符串。

.

.

.

.

.

.

答案就是:没有

为什么我还不清楚,有知道可以告诉我

我猜是:shell的重定向必须在程序运行结束才把打印写到文件,或者是打印满一定的大小后才写到文件

你可能感兴趣的:(linux,shell)