免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4787 | 回复: 12
打印 上一主题 下一主题

后台程序里的printf语句 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-05 10:42 |只看该作者 |倒序浏览
当然不会有输出,但是会不会有什么不好的地方,或者说进程是怎么处理这些printf语句的

论坛徽章:
0
2 [报告]
发表于 2006-06-05 11:05 |只看该作者
可以写日志文件吧,只要你的stdout不是终端就没有关系,先重定向一下,然后放到后台

论坛徽章:
0
3 [报告]
发表于 2006-06-05 11:41 |只看该作者
现在不是讨论怎么将printf改成日志,而是问后台运行后,stdin和stdout有什么变化

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2006-06-05 11:46 |只看该作者
误解

论坛徽章:
0
5 [报告]
发表于 2006-06-05 14:14 |只看该作者
原帖由 soul_of_moon 于 2006-6-4 19:41 发表
现在不是讨论怎么将printf改成日志,而是问后台运行后,stdin和stdout有什么变化


daemon会把这几个(还有stderr)文件描述符关闭。

论坛徽章:
0
6 [报告]
发表于 2006-06-05 14:51 |只看该作者
不明白,那在后台程序里写入printf()到底有什么用?

论坛徽章:
0
7 [报告]
发表于 2006-06-05 15:09 |只看该作者
回5楼:
如果关闭的话,那printf会产生问题吗,换句话说printf会被怎么处理,是忽略吗?而且即使是关闭,我想也不是一般的关闭
回6楼:
当然没用,但是想知道有什么影响

论坛徽章:
0
8 [报告]
发表于 2006-06-05 16:04 |只看该作者
是否是调用setsid()之后产生的后台进程。
若是,一定会丢失控制终端。但没做过实验


若不是,而仅是单纯的靠shell作业支持的后台进程,其输出是可以在终端上看到的。但不能从终端读,从终端读会收到一个信息,好像是sigstop信号,查看apue信号章。     这个我是做过实验的。

论坛徽章:
0
9 [报告]
发表于 2006-06-05 16:24 |只看该作者
后台进程是否可向控制终端写式可控制的,
如果禁止后台程序向控制终端写,则内核会发送SIGTTOU信号给向控制终端写的后台进程.
可以参考APUE的 Process Relationship 一章

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
10 [报告]
发表于 2006-06-05 16:28 |只看该作者
关闭的说法纯属乱猜测。
APUE上面可能会有介绍吧,先好好看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP