Provided by: manpages-pt-br-dev_4.21.0-2_all bug

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).

       ┌───────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │InterfaceAtributoValor   │
       ├───────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │daemon()                                                       │ Thread safety │ MT-Safe │
       └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘

PADRÕES

       Não  no  POSIX.1.  Uma função semelhante aparece nos BSDs. A função daemon() apareceu pela
       primeira vez no BSD 4.4.

NOTAS

       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.

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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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 ⟨debian-l10n-portuguese@lists.debian.org⟩.