Provided by: manpages-it-dev_4.13-4_all bug

NOME

       daemon - esegue sullo sfondo

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 │
       └─────────────┴───────────────┴─────────┘

CONFORME A

       Non presente in POSIX.1. Una funzione simile è presente sui sistemi BSD. La funzione daemon() apparve per
       la prima volta in 4.4BSD.

NOTE

       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.

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)

COLOPHON

       Questa  pagina  fa parte del rilascio 5.10 del progetto Linux man-pages. Una descrizione del progetto, le
       istruzioni per la segnalazione degli  errori,  e  l'ultima  versione  di  questa  pagina  si  trovano  su
       https://www.kernel.org/doc/man-pages/.

TRADUZIONE

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

       Questa  traduzione è documentazione libera; leggere la GNU General Public License Versione 3 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.

GNU                                             26 novembre 2017                                       DAEMON(3)