This commit is contained in:
2025-09-23 13:30:17 +02:00
parent b156f89237
commit 5aa0f73341

View File

@@ -22,7 +22,7 @@
suivi dune liste arbitrairement longue darguments, et il exécute prog en parallèle (dans des processus) suivi dune liste arbitrairement longue darguments, et il exécute prog en parallèle (dans des processus)
sur chacun des arguments. Autrement dit, sur chacun des arguments. Autrement dit,
``` ```
`./parexec prog arg1 arg2 ... argN ./parexec prog arg1 arg2 ... argN
``` ```
exécutera simultanément toutes les commandes `prog arg1` , `prog arg2`, ... , `prog argN` chacune dans un processus exécutera simultanément toutes les commandes `prog arg1` , `prog arg2`, ... , `prog argN` chacune dans un processus
distinct. Testez avec le programme `rebours`. distinct. Testez avec le programme `rebours`.
@@ -45,7 +45,7 @@
On utilisera `fork` et `wait`. On utilisera `fork` et `wait`.
3. Écrivez une version de `paraexec` qui prend un argumant supplémentaire N entre prog et arg1 qui indique 3. Écrivez une version de `paraexec` qui prend un argumant supplémentaire N entre prog et arg1 qui indique
le nomnre maximum d'instancesde prog à lancer en parallèle. Lorsque ce nombre est atteint, `parexec` doit attendre la le nombre maximum d'instances de `prog` à lancer en parallèle. Lorsque ce nombre est atteint, `parexec` doit attendre la
fin d'un de ses fils pour en relancer un nouveau. fin d'un de ses fils pour en relancer un nouveau.
4. Modifiez votre programme `paraexec` pour que si une des instances de `prog` se termine anormalement alors il tue immédiatement 4. Modifiez votre programme `paraexec` pour que si une des instances de `prog` se termine anormalement alors il tue immédiatement