Por que usamos setsid () durante a daemonização de um processo?

13

A fim de criar um serviço (daemon), nós separamos o pai e o fazemos para sair, fazendo com que o filho seja o líder da sessão chamando setsid() . Além disso, por que usamos o setsid ()? Nosso processo órfão é tratado pelo processo init (embora nem todos os casos).

Por que usamos stsid ()? Existe alguma relação entre setsid() e manipulação de SIGHUP signal.

    
por Kalu 04.11.2015 / 07:42

1 resposta

10

Usamos setsid () porque se matarmos o pai, o filho também será morto, o setsid ()

creates a new session if the calling process is not a process group leader. The calling process is the leader of the new session, the process group leader of the new process group, and has no controlling terminal.

O pai é o primeiro líder do grupo de processos, matá-lo - ou matar a sessão / terminal - mata o grupo, e é por isso que trocamos o líder (e criamos uma nova sessão enquanto estamos nisso).

    
por 04.11.2015 / 08:55

Tags