Man page - daemon(3)

Packages contains this manual

Available languages:

en fr pt_BR es it pl ja ru ro de

Manual

daemon

NOME
BIBLIOTECA
SINOPSE
DESCRIÇÃO
VALOR DE RETORNO
ATRIBUTOS
VERSÕES
PADRÕES
HISTÓRICO
BUGS
VEJA TAMBÉM
TRADUÇÃO

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

Image grohtml-3941733-1.png

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 .