APUE中关于daemon进程的写法之疑问

沭水河畔 2010-10-03 09:38:19
APUE 13.3节中关于daemon进程的写法,有一段代码不解其意,望诸位指教。

/*
* Ensure future opens won't allocate controlling TTYs.
*/
sa.sa_handler = SIG_IGN;
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
if (sigaction(SIGHUP, &sa, NULL) < 0)
err_quit("%s: can't ignore SIGHUP");
if ((pid = fork()) < 0)
err_quit("%s: can't fork", cmd);
else if (pid != 0) /* parent */
exit(0);
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
谭海燕 2010-10-04
  • 打赏
  • 举报
回复
对于daemon进程,你看APUE中写了那么多。其实很多linux系统中都支持 daemon()函数。

很方便的产生守护进程。
谭海燕 2010-10-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 steptodream 的回复:]

学习学习
3楼说的daemon()函数我用过
[/Quote]



我不经常自己去实现daemon()。。。


呵呵,我喜欢偷懒。。
steptodream 2010-10-04
  • 打赏
  • 举报
回复
学习学习
3楼说的daemon()函数我用过
justkk 2010-10-04
  • 打赏
  • 举报
回复
会话首进程打开一个终端时,这个终端可能会成为它的控制终端。
fork()之后,不再是会话的首进程,从而不会获取控制终端.. 也就不会受相关信号的影响
wangpinxiang 2010-10-04
  • 打赏
  • 举报
回复
good
小魔菇 2010-10-03
  • 打赏
  • 举报
回复
父进程退出 tty关闭 sighup被发送给session的首进程
子进程变成session首进程 不拥有控制终端
jldream110 2010-10-03
  • 打赏
  • 举报
回复
恩 一楼说的对

23,110

社区成员

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

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