Provided by: manpages-it-dev_4.19.0-7_all bug

NOME

       daemon - esegue sullo sfondo

LIBRARY

       Standard C library (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 │
       └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘

STANDARDS

       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)

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 ⟨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⟩.