> Linux Reviews > man >

fork

Créer un processus fils.


  1. fork.2.man


1. fork.2.man

Manpage of FORK

FORK

Section: Manuel du programmeur Linux (2)
Updated: 27 mai 2004
Index Return to Main Contents
 

NOM

fork - Créer un processus fils.  

SYNOPSIS

#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 implementé 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 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.
 

EXEMPLE

Voir pipe(2) et wait(2).

 

CONFORMITÉ

SVr4, BSD 4.3, POSIX.1-2001.  

VOIR AUSSI

clone(2), execve(2), vfork(2), setrlimit(2), unshare(2), wait(2), capabilities(7)  

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 9 octobre 1996 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 2 fork ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
EXEMPLE
CONFORMITÉ
VOIR AUSSI
TRADUCTION

This document was created by man2html using the manual pages.
Time: 17:36:44 GMT, October 23, 2013

SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl - SVENSKA