Provided by: manpages-pt-br-dev_4.27.0-1_all 

NOME
daemon - rodar no background
BIBLIOTECA
Biblioteca C Padrão (libc, -lc)
SINOPSE
#include <unistd.h>
int daemon(int nochdir, int noclose);
Requisitos de macro de teste de recursos para o glibc (consulte feature_test_macros(7)):
daemon():
Desde o glibc 2.21:
_DEFAULT_SOURCE
No glibc 2.19 e 2.20:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
Até e incluindo o glibc 2.19:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
DESCRIÇÃO
A função daemon() serve para desvincular o programa do terminal controlador e fazê-lo ser executado em
segundo plano como um daemon.
Se nochdir for zero, daemon() muda o diretório de trabalho atual do processo para o diretório raiz ("/");
caso contrário, o diretório de trabalho atual permanecerá inalterado.
Se noclose for zero, daemon() redireciona a entrada padrão, a saída padrão e o erro padrão para
/dev/null; caso contrário, nenhuma alteração será feita nesses descritores de arquivo.
VALOR DE RETORNO
(Essa função se bifurca e, se fork(2) for bem-sucedido, o pai chama _exit(2), para que erros adicionais
sejam vistos apenas pelo filho.) Em caso de sucesso, daemon() retorna zero. Se ocorrer um erro, daemon()
retorna -1 e define errno para qualquer um dos erros especificados para fork(2) e setsid(2).
ATRIBUTOS
Para uma explicação dos termos usados nesta seção, consulte attributes(7).
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Atributo │ Valor │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ daemon() │ Thread safety │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘
VERSÕES
Uma função semelhante aparece nos BSDs.
A implementação da glibc também pode retornar -1 quando /dev/null existe, mas não é um dispositivo de
caracteres com os números maiores e menores esperados. Neste caso, errno não precisa ser definido.
PADRÕES
Nenhum.
HISTÓRICO
4.4BSD.
BUGS
A implementação da biblioteca GNU C desta função foi retirada do BSD e não emprega a técnica de
bifurcação dupla (ou seja, fork(2), setsid(2), fork(2)) que é necessário para garantir que o processo
daemon resultante não seja um líder de sessão. Em vez disso, o daemon resultante é um líder de sessão. Em
sistemas que seguem a semântica do System V (por exemplo, Linux), isso significa que se o daemon abrir um
terminal que ainda não seja um terminal de controle para outra sessão, então esse terminal se tornará
inadvertidamente o terminal de controle do daemon.
VEJA TAMBÉM
fork(2), setsid(2), daemon(7), logrotate(8)
TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por Paulo César Mendes
<drpc@ism.com.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.
Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as
condições de direitos autorais. Nenhuma responsabilidade é aceita.
Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de
discussão de tradutores.
Linux man-pages 6.9.1 2 maio 2024 daemon(3)