Linux 下的一个守护进程

渡码 2012-11-25 04:22:37


如果去掉被调函数中画绿框的部分,那么执行主函数中带绿框的部分的时候会有提示信息"hello已存在"但是,
如果加上被调函数中画绿框的部分,那么执行主函数中带绿框的部分的时候没有提示信息?
为什么会有这样的差别??
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
渡码 2012-11-27
  • 打赏
  • 举报
回复
......................貌似有点明白
wangwenwen 2012-11-27
  • 打赏
  • 举报
回复
fdl19881 说的对。 错误其实还存在,只是被绿框中的代码屏蔽了,没有输出的控制台而已。
fdl19881 2012-11-26
  • 打赏
  • 举报
回复
守护进程就是与终端脱离,进程没有所属的终端了。 但由于默认的0,1,2标准输入,标准输出,标准出错还存在,所以去除init_daemon中的那段代码后,主函数中的system("mkdir hello")在出错后还是会输出到当前终端。 init_daemon中的那段话是表示关闭所以从父进程继承来的文件描述符。也就是把0,1,2也关了。所以system("mkdir hello")出错后向标准出错2输出,但又不存在,所以不会显示。
渡码 2012-11-25
  • 打赏
  • 举报
回复
引用 1 楼 wenxy1 的回复:
判断hello是否存在,if存在则create, else nothing.
能不能详细点,不懂呀
Wenxy1 2012-11-25
  • 打赏
  • 举报
回复
判断hello是否存在,if存在则create, else nothing.

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧