Voltar à lista
Linux x86_64Processos & threads#112

setsid

Cria uma nova sessão e um novo grupo de processos, com o chamador como líder de ambos.

Descrição

Passo clássico na criação de um daemon: desassocia o processo do terminal de controle original, evitando que sinais de controle de job (SIGHUP ao fechar o terminal, etc.) o alcancem.

Header: unistd.hman 2

Atenção

Falha com EPERM se o chamador já for líder de grupo de processos — por isso daemons tipicamente fazem um `fork` antes de chamar `setsid`.

Assinatura

pid_t setsid(void);

Parâmetros

Esta função não recebe parâmetros.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)

Valor de retorno

O novo ID de sessão em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas