Question sur fork()

Résolu
Maxmax74 Messages postés 365 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,

j'ai quelques questions sur l'instruction fork() en C :

1) si on écrit juste "fork();" est-ce qu'un processus fils est créé ou il faut écrire "pid=fork();"


2) en cas d'erreur de création du processus fils dans le code :

pid=f o r k ( ) ;
i f ( pid < 0 ){
p r i n t f ( "Probleme c r e a t i o n pr o c e s sus nn" ) ;
e x i t ( 1 ) ;
}
...

qui exécute le printf(...) ?

merci d'avance pour vos réponses

A voir également:

1 réponse

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Bonjour
Pid() tout court appelle la fonction. Par contre tu sauras pas si la fonction a bien marche ni distinguer le pere du fils. Il faut donc bien recuperer la valeur de retour.
Si le pid est negatif ( -1 ) c'est qu'il y a eu une erreur ( cf. errno).
Pour plus de precision tu peux te reporter au man.
Cdlt
1
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Pour la valeur negative, c'est le pere qui affiche le printf puisque le fils n'a pas pu etre creee.
0