% cat test.c #include <stdio.h> int main( void ) { printf("Hello, world\n"); fork(); return 0; } % gcc test.c -o test % ./test Hello, world % ./test | cat Hello, world Hello, world % Как я понимаю, сие чудное явление происходит потому, что при прямом выводе в терминал вывод не буферизуется, а при выводе в пайп или в файл - буферизуется. Я прав?