开发者社区> 问答> 正文

linux daemon中print问题

在linux中我用deamon(0,0)创建了一个精灵进程,后来我通过消息重定向 输入输出后 printf不能输出东西但是write函数可以不知道是为什么,有高手能给指点一下吗 我主要是想让printf输出,下面是我程序的简要过程
int main(){

daemon(0,0)

while(1)

{

recvmsg();

fd=open("/dev/ttyS0",.....)

dup2(fd,0);

dup2(fd,1);

dup2(fd,2);

printf("dddddddddddddddn");//不可以输出

write(1,"eeeeeeeeeeeeeeeen")//可以输出

}
}

展开
收起
杨冬芳 2016-07-08 18:04:19 2383 0
1 条回答
写回答
取消 提交回答
  • IT从业

    参考 linux 守护进程 daemon另一个问题是Daemon程序不能和终端交互,也就无法使用printf方法输出信息了。我们可以使用syslog机制来实现信息的输出,方便程序的调试。精灵程序是不能和终端进行交互的。
    重定向后是可以的

    2019-07-17 19:53:45
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载