我使用c为我的两个服务器编写了一个简单的主从故障转移设置,运行redhat6,它使用udp心跳来相互监视。在我的应用程序中,我打印了一些信息,比如,接收到的心跳、服务器是否健康以及其他一些信息。我希望它在后台运行,并将这些printfs附加到nohup.out中。所以我在下面发布了
nohup ./appname &
nohup: ignoring input and appending output to nohup.out
App在后台运行,但是输出没有附加到nohup.out。我以为它被缓冲了,所以我给了它一些时间然后杀了它,但是nohup.out仍然是空的,
这里面有什么想法吗?
发布于 2015-06-03 06:34:03
正如格雷格所指出的那样,nohup.out被缓冲了。将stdout的缓冲区大小设置为null解决了它。
setbuf(stdout, NULL);
https://serverfault.com/questions/694179
复制相似问题