Перенаправление stdout убитого исполняемого файла - PullRequest
3 голосов
/ 19 ноября 2011

У меня есть файл C, который выглядит так:

#include <stdio.h>

int main(void)
{
   printf("Hello world\n");
   while (1);
   return 0;
}

И мне бы хотелось, чтобы «Привет, мир» печатался в новом файле. Но это не работает, когда я пытаюсь перенаправить стандартный вывод следующим образом:

./hello_world >> logfile &

А затем убейте программу hello_world.

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Вам необходимо сбросить стандартный вывод перед циклом:

#include <stdio.h>

int main(void)
{
   printf("Hello world\n");
   fflush(stdout);
   while (1);
   return 0;
}
0 голосов
/ 19 ноября 2011

Если вы хотите увидеть вывод, как он происходит, используйте fflush (stdout);после вашего printf ().

...