demon(3) Library Functions Manual demon(3)

daemon - rulează în fundal

Biblioteca C standard (libc, -lc)

#include <unistd.h>
int daemon(int nochdir, int noclose);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

daemon():

    Începând cu glibc 2.21:
        _DEFAULT_SOURCE
    În glibc 2.19 și 2.20:
        _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
    Până la și inclusiv glibc 2.19:
        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

Funcția daemon() este destinată programelor care doresc să se detașeze de terminalul de control și să ruleze în fundal ca demoni de sistem.

Dacă nochdir este zero, daemon() schimbă directorul de lucru curent al procesului în directorul rădăcină („/”); în caz contrar, directorul de lucru curent este lăsat neschimbat.

Dacă noclose este zero, daemon() redirecționează intrarea standard, ieșirea standard și eroarea standard către /dev/null; în caz contrar, nu se face nici o modificare la acești descriptori de fișiere.

(Această funcție se bifurcă, iar dacă fork(2) reușește, părintele apelează _exit(2), astfel încât erorile ulterioare sunt văzute doar de copil). În caz de succes, daemon() returnează zero. Dacă apare o eroare, daemon() returnează -1 și configurează errno la oricare dintre erorile specificate pentru fork(2) și setsid(2).

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
daemon() Siguranța firelor MT-Safe

O funcție similară apare în BSD.

Implementarea glibc poate, de asemenea, să returneze -1 atunci când /dev/null există, dar nu este un dispozitiv de caractere cu numerele majore și minore așteptate. În acest caz, errno nu trebuie să fie configurată.

Niciunul.

4.4BSD.

Implementarea bibliotecii GNU C a acestei funcții a fost preluată de la BSD și nu utilizează tehnica double-fork (adică fork(2), setsid(2), fork(2)), care este necesară pentru a se asigura că procesul demon rezultat nu este un lider de sesiune. În schimb, demonul rezultat este un lider de sesiune. Pe sistemele care urmează semantica Sistemului V (de exemplu, Linux), aceasta înseamnă că, dacă demonul deschide un terminal care nu este deja un terminal de control pentru o altă sesiune, atunci acel terminal va deveni, din greșeală, terminal de control pentru demon.

fork(2), setsid(2), daemon(7), logrotate(8)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

31 octombrie 2023 Pagini de manual de Linux 6.06