Почему c app не пишет в nohup.out

Я написал простую установку аварийного переключения master-slave для моих двух серверов, используя c, работающий с redhat6, который использует контрольные сигналы udp для мониторинга друг друга. В моем приложении я печатаю некоторую информацию, например, полученное сердцебиение, сервер исправен и еще кое-что. Я хочу, чтобы он работал в фоновом режиме и добавлял эти printfs в nohup.out. Итак, я выпустил ниже,

nohup ./appname &

nohup: ignoring input and appending output to nohup.out

Приложение работает в фоновом режиме, но вывод не добавляется в nohup.out. Я думал, что это буферизовано, поэтому я дал некоторое время и убил его, но nohup.out все еще пуст,

Есть мысли по этому поводу?

1 ответ

Как отметил @greg, nohup.out был буферизован. Установка размера буфера stdout в null решила это.

setbuf(stdout, NULL);

Другие вопросы по тегам