Я написал простую настройку аварийного переключения «главный-подчиненный» для двух моих серверов, используя c, запустив redhat6, который использует тактовые импульсы udp для мониторинга друг друга. В моем приложении я распечатываю некоторую информацию, например, полученное сердцебиение, работоспособность сервера и многое другое. Я хочу, чтобы он работал в фоновом режиме и добавлял эти printfs в nohup.out. Итак, я опубликовал ниже,
nohup ./appname &
nohup: ignoring input and appending output to nohup.out
Приложение работает в фоновом режиме, но вывод не добавляется к nohup.out. Я думал, что он буферизован, поэтому я дал когда-то и убил его, но nohup.out все еще пуст,
Есть мысли по этому поводу?
Как отметил @greg, nohup.out был помещен в буфер. Установка размера буфера стандартного вывода на нуль решила эту проблему.
setbuf(stdout, NULL);