Scroll to navigation

demon(3) Library Functions Manual demon(3)

NUME

daemon - rulează în fundal

BIBLIOTECA

Biblioteca C standard (libc, -lc)

SINOPSIS

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

DESCRIERE

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.

VALOAREA RETURNATĂ

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

ATRIBUTE

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

STANDARDE

Nu există în POSIX.1. O funcție similară apare în BSD. Funcția daemon() a apărut pentru prima dată în 4.4BSD.

NOTE

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

ERORI

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.

CONSULTAȚI ȘI

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

TRADUCERE

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.

15 decembrie 2022 Pagini de manual de Linux 6.03