首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么守护进程(3)只在FreeBSD中忽略SIGHUP?

为什么守护进程(3)只在FreeBSD中忽略SIGHUP?
EN

Unix & Linux用户
提问于 2016-05-30 09:02:07
回答 1查看 334关注 0票数 2

作为systemdtmuxdaemon()关于编辑的探讨的一部分,我注意到只有FreeBSD版本daemon()libc图书馆呼叫才会忽略SIGHUP sigaction(2),而不是OpenBSD或glibc/misc/daemon.c。为什么?

EN

回答 1

Unix & Linux用户

发布于 2016-05-30 09:02:07

我追踪到https://svnweb.freebsd.org/base?view=revision&revision=122442https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=25462

在一些角落的情况下,SIGHUP signaldaemon()库调用执行fork(2)之后执行父进程的_exit(2)时被传递,这将使hup被传递(按照_exit(2)),并且如果执行它的父进程已经是setsid(2)中描述的会话领导者,则会终止子进程。

为了避免在这些有限的情况下,当调用方是会话领导人时(在上述Bugzilla中为完整列表),SIGHUP暂时被忽略。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/286423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档