Você não é o único intrigado por sessões POSIX; Lennart Poettering (ele de systemd
fama) está confuso demais .
Tanto quanto qualquer um pode dizer, quando um líder de sessão morre, init
herda a sessão órfã e
-
Todos os processos de membros da sessão no grupo de processos de primeiro plano (se houver) recebem um SIGHUP.
-
Os processos de membros da sessão que não estão no grupo de primeiro plano não recebem nenhum sinal.
Veja também:
- notes.shichao.io/apue/ch9
- Capítulo 10 " Processos " em O Kernel do Linux por Andries Brouwer (2003).
If the terminal goes away by modem hangup, and the line was not local, then a SIGHUP is sent to the session leader. [...] When the session leader dies, a SIGHUP is sent to all processes in the foreground process group. [...] Thus, if the terminal goes away and the session leader is a job control shell, then it can handle things for its descendants, e.g. by sending them again a SIGHUP. If on the other hand the session leader is an innocent process that does not catch SIGHUP, it will die, and all foreground processes get a SIGHUP.
Andries Brower, The Linux Kernel, section 10.3 "Sessions".