Bonjour,
en fait j'ai besoins de votre aide pour implementer une commande do , voila ce qu'elle doit faire-->
do exécute indépendamment et simultanément une série de commandes Shell données sur la ligne de commande. L’exécution du programme se termine quand l’ensemble des commandes a terminé. Le programme retourne alors un statut formé de la conjonction (et, défaut) ou de la disjonction (ou) des statuts retournés par les commandes selon la valeur de l’option.
Par exemple : do -or "firefox" "emacs" doit retourné vrai si au moins 1 des 2 programme s'est lancé correctement.
do -and "firefox" "emacs" doit retourné vrai uniquement si les 2 programme se sont lancé correctement.
Pour lancé les programme j'utilise 2 processus fils qui lancent la fonction execve.
Mon probléme c'est que si l'argument donné est -or et que l'un des processus fils retourne un succès , je dois utiliser la commande kill pour terminer le deuxiéme processus même s'il est toujours en cours. Mais je ne vois pas comment récupéré le pid des fils qui n'ont pas terminé.. j'ai pensé a utilisé la fonction wait , mais ca ne sert a rien de "killer" un processus qui a déja terminé.
Donc si vous pouviez m'aider a résoudre ce probléme ca serait sympa. Merci d'avance
-----