table of contents
daemon(3) | Library Functions Manual | daemon(3) |
NOME¶
daemon - esegue sullo sfondo
LIBRERIA¶
Libreria C standard (libc, -lc)
SINTASSI¶
#include <unistd.h>
int daemon(int nochdir, int noclose);
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).
Interfaccia | Attributo | Valore |
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¶
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 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.
2 maggio 2024 | Linux man-pages (non rilasciato) |