jammy (3) daemon.3.gz

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