-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Le Jeudi 7 F�vrier 2002 20:14, vous avez �crit :
> Bonjour,
>
> Qu'appelle-t-on un fork? J'ai cru comprendre que cela correspondait au
> d�doublement d'un programme dont chaque partie fonctionne de fa�on
> ind�pendante (on ouvre deux konqueror ou deux Quanta par exemple).
>
Non, cela ce sont des threads.
La cr�ation d'un processus est effectu�e en dupliquant le processus courant:
l'appel syst�me fork permet � un processus de cr�er une copie de lui-m�me, �
l'exception de l'identificateur de processus. Le procesus qui s'est dupliqu�
est appel� le processus p�re, et le nouveau processus est appel� le processus
fils.
Au retour de fork, deux processus ex�cutent le m�me code.
Son prototype est le suivant:
#include <unistd.h>
pid_t fork(void);
Petit exemple:
- --------- creer-processus.c ----------
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
void main (void)
{
pid_t pid;
pid= fork();
if (pid == -1)
perror ("fork");
else if (pid == 0)
printf("Je suis le fils : pid = %d\n", pid);
else
printf("Je suis le p�re : pid = %d\n", pid);
}
- -----------------------------------
L'impl�mentation de l'appel syst�me fork est situ�e dans le fichier source
kernel/fork.c .
Si tu veux des explications tr�s pr�cises, tu peux consulter le livre suivant
(d'o� est issu le petit code source C):
"Programmation Linux 2.0: API syst�me et fonctionnement du noyau" par R;Card,
E.Dumas, F. M�vel aux �ditions Eyrolles.
> Merci
C'est avec plaisir :o)
> Alain
Marc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE8Y9TvRwOtPf8WOOIRAiCkAKCD08R/ZYY5AUPeMjS27Mj6qXOG9QCfRvpN
X62bIutjwiOLY+lmSsWpR3E=
=gR0F
-----END PGP SIGNATURE-----