我正在尝试为我的宠物操作系统正确模拟 POSIX 信号处理和作业控制,但我不清楚会话负责人退出后会话应该发生什么。
我找不到与会话及其进程发生的情况相关的文档,例如,如果一个孩子在多个后台进程和不同的前台进程正在运行时杀死了会话负责人。
我的测试表明会话中的所有进程都被杀死了,但是如何?
他们收到特定的信号吗?
POSIX 标准中是否指定了这种情况?如果是这样,你能提供一些参考吗?
我正在尝试为我的宠物操作系统正确模拟 POSIX 信号处理和作业控制,但我不清楚会话负责人退出后会话应该发生什么。
我找不到与会话及其进程发生的情况相关的文档,例如,如果一个孩子在多个后台进程和不同的前台进程正在运行时杀死了会话负责人。
我的测试表明会话中的所有进程都被杀死了,但是如何?
他们收到特定的信号吗?
POSIX 标准中是否指定了这种情况?如果是这样,你能提供一些参考吗?
您不是唯一一个对 POSIX 会话感到困惑的人。Lennart Poettering(
systemd
成名的他)也很困惑。据任何人所知,当会话负责人死亡时,会
init
继承孤立的会话并前台进程组(如果有)中的所有会话成员进程都会收到 SIGHUP。
不在前台组中的会话成员进程不会收到任何信号。
也可以看看: