This commit is contained in:
2025-09-23 13:28:55 +02:00
parent b16eb85cbf
commit b156f89237

View File

@@ -20,9 +20,13 @@
2. Complétez [parexec.c](./src/paraexec.c) prend en arguments de ligne de commande un nom de programme prog, 2. Complétez [parexec.c](./src/paraexec.c) prend en arguments de ligne de commande un nom de programme prog,
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, `./parexec prog arg1 arg2 ... argN` exécutera simulta- sur chacun des arguments. Autrement dit,
nément toutes les commandes prog arg1 , prog arg2 ... prog argN chacune dans un processus ```
`./parexec prog arg1 arg2 ... argN
```
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`.
```bash ```bash
[denis@portabledenis scr]$ ./parexec ./rebours 1 2 3 [denis@portabledenis scr]$ ./parexec ./rebours 1 2 3
2586243: debut 2586243: debut
@@ -38,7 +42,7 @@
2586245: 1 2586245: 1
2586245: fin 2586245: fin
``` ```
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 nomnre maximum d'instancesde prog à lancer en parallèle. Lorsque ce nombre est atteint, `parexec` doit attendre la