Linux |
CentOS 5.3 |
|
daemon(3) |
daemon − Exécution en arrière-plan. |
#include <unistd.h> int daemon (int nochdir, int noclose); |
La fonction daemon() sert aux programmes désireux de se détacher de leur terminal de contrôle, et de s’exécuter en arrière-plan à la manière des démons système. Si l’argument nochdir vaut zéro, daemon() modifie le répertoire de travail pour revenir à la racine (« / »). Ceci évite de bloquer un système de fichiers (comme /home) que l’on ne pourrait pas démonter durant son exécution. Si l’argument noclose vaut zéro, daemon() redirige l’entrée standard, la sortie standard, et la sortie d’erreur vers /dev/null. |
(Cette fonction exécute un fork(), et s’il réussit, le père effectue un _exit(0), ainsi, toutes les erreurs éventuelles apparaissent uniquement du côté fils). La fonction daemon() renvoie zéro si elle réussit. Si une erreur se produit, daemon() renvoie −1 et remplit la variable globale errno avec l’un des code d’erreurs renvoyés par les fonctions fork(2) et setsid(2). |
fork(2), setsid(2) |
L’implémentation de la glibc peut également renvoyer −1 si /dev/null existe mais n’est pas un noeud spécial en mode caractère, avec les numéros mineur et majeur attendus. Dans ce cas, errno ne sera pas remplie. |
Pas dans POSIX.1-2001. Une fonction similaire apparaît dans les BSD. La fonction daemon() est apparue en premier dans BSD 4.4. |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 30 août 2000 et révisée le 14 août 2006. L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 daemon ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. |
daemon(3) |