Rechercher une page de manuel
fork
Langue: fr
Version: 27 mai 2004 (ubuntu - 16/08/07)
Section: 2 (Appels système)
NOM
fork - Créer un processus filsSYNOPSIS
#include <sys/types.h>#include <unistd.h>
pid_t fork(void);
DESCRIPTION
fork() crée un processus fils qui diffère du processus parent uniquement par ses valeurs PID et PPID et par le fait que toutes les statistiques d'utilisation des ressources sont remises à zéro. Les verrouillages de fichiers, et les signaux en attente ne sont pas hérités.Sous Linux, fork() est implémenté en utilisant une méthode de copie à l'écriture. Ceci consiste à ne faire la véritable duplication d'une page mémoire que lorsqu'un processus en modifie une instance. Tant qu'aucun des deux processus n'écrit dans une page donnée, celle-ci n'est pas vraiment dupliquée. Ainsi les seules pénalisations induites par fork sont le temps et la mémoire nécessaires à la copie de la table des pages du parent ainsi que la création d'une structure de tâche pour le fils.
VALEUR RENVOYÉE
En cas de succès, le PID du fils est renvoyé au processus parent, et 0 est renvoyé au processus fils. En cas d'échec -1 est renvoyé dans le contexte du parent, aucun processus fils n'est créé, et errno contient le code d'erreur.ERREURS
- EAGAIN
- fork() ne peut pas allouer assez de mémoire pour copier la table des pages du père et allouer une structure de tâche pour le fils.
- EAGAIN
- Il n'a pas été possible de créer un nouveau processus car la limite ressource RLIMIT_NPROC de l'appelant a été rencontrée. Pour franchir cette limite, le processus doit avoir au moins l'une des deux capacités CAP_SYS_ADMIN ou CAP_SYS_RESOURCE.
- ENOMEM
- fork() a échoué car le noyau n'a plus assez de mémoire.
CONFORMITÉ
SVr4, BSD 4.3, POSIX.1-2001.EXEMPLE
Voir pipe(2) et wait(2).VOIR AUSSI
clone(2), execve(2), setrlimit(2), unshare(2), vfork(2), wait(2), capabilities(7)TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».
tapper du code HTML dans les messages !
-- Jayce - --
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre