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