oracular (3) daemon.3.gz

Provided by: manpages-it-dev_4.23.1-1_all bug

NOME

       daemon - esegue sullo sfondo

LIBRERIA

       Libreria C standard (libc, -lc)

SINTASSI

       #include <unistd.h>

       int daemon(int nochdir, int noclose);

   Macro per test di funzionalità per glibc (vedere feature_test_macros(7)):

       daemon():
           A partire de glibc 2.21:
               _DEFAULT_SOURCE
           In glibc 2.19 e 2.20:
               _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
           Fino a glibc 2.19 incluso:
               _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

DESCRIZIONE

       La funzione daemon() è utilizzata dai programmi che vogliono staccarsi dal terminale di controllo e stare
       in esecuzione sullo sfondo come demoni di sistema.

       Se nochdir è zero, daemon() cambia la directory di lavoro corrente del  processo  alla  directory  radice
       ("/"); altrimenti, la directory di lavoro corrente rimane invariata.

       Se  noclose  è  zero,  daemon()  redireziona  lo standard input, lo standard output e lo standard error a
       /dev/null; altrimenti, non vengono apportata variazioni a questi descrittori di file.

VALORE RESTITUITO

       (Questa funzione esegue un fork, e se il fork(2) ha successo, il genitore chiama _exit(2),  in  modo  che
       errori  successivi  vengano  visti  solo dal figlio.) In caso di successo daemon) restituisce zero. Se si
       verifica un errore, daemon() restituisce -1 e imposta errno ad uno qualunque degli errori specificati per
       fork(2) e setsid(2).

ATTRIBUTI

       Per la spiegazione dei termini usati in questa sezione, vedere attributes(7).

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

VERSIONI

       Una funzione simile appare nei BSD.

       L'implementazione  di  glibc  può  anche  restituire -1 quando /dev/null esiste ma non è un dispositivo a
       caratteri con i numeri maggiore e minore che ci si aspetterebbe. In questo caso errno non ha  bisogno  di
       essere impostato.

CONFORME A

       Nessuno.

STORIA

       4.4BSD.

BUG

       L'implementazione  GNU  C  Library  di questa funzione è stata presa da BSD, e non impiega la tecnica del
       doppio fork (cioè, fork(2), setsid(2), fork(2)) che è necessaria per essere sicuri che il processo demone
       risultante  non  sia  un  leader  di  sessione. Invece, il demone risultante è un leader di sessione. Sui
       sistemi che seguono la semantica di System V (p.es. Linux), questo vuol dire che se  il  demone  apre  un
       terminale  che  non  è  già  un  terminale  di  controllo  per  un'altra  sessione,  il terminale diventa
       involontariamente il terminale di controllo per il demone.

VEDERE ANCHE

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

TRADUZIONE

       La  traduzione  italiana  di   questa   pagina   di   manuale   è   stata   creata   da   Giordano   Neri
       <neri@cli.di.unipi.it>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       Questa   traduzione   è  documentazione  libera;  leggere  la  GNU  General  Public  License  Versione  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  o  successiva  per  le  condizioni  di  copyright.   Non  ci
       assumiamo alcuna responsabilità.

       Per  segnalare  errori  nella  traduzione  di  questa  pagina  di  manuale inviare un messaggio a ⟨pluto-
       ildp@lists.pluto.it⟩.