os.wait3 ( )
DESCRIPTION.
Met l'exécution d'un processus en pause tant que son enfant est vivant.
SYNTAXE.
TPL_Variable = os.wait3 ( options )
TPL_Variable = ⇨ variable qui recevra le tuple à champs nommés [ optionnel ]
os.wait3 ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
options ⇨ liste des objets tampons [ OBLIGATOIRE ]
REMARQUES.
options précise le signal de sortie attendu du processus enfant, ce doit être l'une des valeurs suivantes, ou une combinaison d'eux séparés par l'opérateur or, ou le symbole | : os.WCONTINUED ; os.WEXITED ; os.WNOHANG ; os.WNOWAIT ou os.WSTOPPED.
La méthode os.wait3 ( ) n'est disponible que pour UNIX et la plupart des Linux. Son utilisation sous d'autres OS, tel que Windows de Microsoft, lèvera une exception.
L'appel de la méthode os.wait3 ( ) est similaire à la méthode os.waitid ( ) , sauf qu'on ne peut pas préciser quel enfant du processus sera attendu pour reprendre l'exécution du processus parent et que la valeur retournée est un tuple ( ) de trois éléments ayant la forme ( identifiant , signal , ressources ), où identifiant est l'identifiant du processus enfant (PID), signal est une indiquation de sa valeur de sortie et ressources est un objet de type resource.getrusage ( ) donnant des détails sur les ressources utilisées.
EXEMPLE.
import os
kparent = os.P_PID
kenfant = os.fork ( )
if kenfant : # si le processus en cours n'a pas retourné 0 c'est le père qui été chargé dans le CPU
print ( "Le PARENT" , os.getpid ( ) , "est en cours ... " )
print ( "Je patiente, mon enfant exécute sa tache ..." )
print ( )
kretour = os.wait3 ( os.WEXITED )
print ( "Mon enfant s'est terminé ... " )
print ( "Il a retourné la valeur :" , kretour )
print ( "Le PARENT" , os.getpid ( ) , ": Ce processus est terminé ... " )
else : # si le processus en cours a retourné 0 c'est le fils qui été chargé dans le CPU
print ( "L'ENFANT" , os.getpid ( ) , "travail ..." )
for kvaleur in range ( 6 ) : print ( "L'ENFANT" , os.getpid ( ) , ": C'est toujours les mêmes qui travaillent ..." )
print ( )
Une fois enregistré, ce script doit être lancé depuis un terminal Linux avec la commande :
python /chemin/monscrip.py (où /chemin/monscrip.py est le nom de votre script avec son chemin).
Pour une meilleur compatibilité, chemin et nom de doivent as comporter d'espace ou de caractères spéciaux.
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.