daemon(3) Library Functions Manual daemon(3) NOME daemon - rodar no background BIBLIOTECA Biblioteca C Padrao (libc, -lc) SINOPSE #include 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) Ate e incluindo o glibc 2.19: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) DESCRICAO A funcao daemon() serve para desvincular o programa do terminal controlador e faze-lo ser executado em segundo plano como um daemon. Se nochdir for zero, daemon() muda o diretorio de trabalho atual do processo para o diretorio raiz ("/"); caso contrario, o diretorio de trabalho atual permanecera inalterado. Se noclose for zero, daemon() redireciona a entrada padrao, a saida padrao e o erro padrao para /dev/null; caso contrario, nenhuma alteracao sera feita nesses descritores de arquivo. VALOR DE RETORNO (Essa funcao 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 explicacao dos termos usados nesta secao, consulte attributes(7). +--------------------------------------------+---------------+---------+ |Interface | Atributo | Valor | +--------------------------------------------+---------------+---------+ |daemon() | Thread safety | MT-Safe | +--------------------------------------------+---------------+---------+ VERSOES Uma funcao semelhante aparece nos BSDs. A implementacao da glibc tambem pode retornar -1 quando /dev/null existe, mas nao e um dispositivo de caracteres com os numeros maiores e menores esperados. Neste caso, errno nao precisa ser definido. PADROES Nenhum. HISTORICO 4.4BSD. BUGS A implementacao da biblioteca GNU C desta funcao foi retirada do BSD e nao emprega a tecnica de bifurcacao dupla (ou seja, fork(2), setsid(2), fork(2)) que e necessario para garantir que o processo daemon resultante nao seja um lider de sessao. Em vez disso, o daemon resultante e um lider de sessao. Em sistemas que seguem a semantica do System V (por exemplo, Linux), isso significa que se o daemon abrir um terminal que ainda nao seja um terminal de controle para outra sessao, entao esse terminal se tornara inadvertidamente o terminal de controle do daemon. VEJA TAMBEM fork(2), setsid(2), daemon(7), logrotate(8) TRADUCAO A traducao para portugues brasileiro desta pagina man foi criada por Paulo Cesar Mendes , Andre Luiz Fassone e Rafael Fontenelle . Esta traducao e uma documentacao livre; leia a Licenca Publica Geral GNU Versao 3 ou posterior para as condicoes de direitos autorais. Nenhuma responsabilidade e aceita. Se voce encontrar algum erro na traducao desta pagina de manual, envie um e-mail para a lista de discussao de tradutores . Linux man-pages 6.06 31 outubro 2023 daemon(3)