Liste des Groupes | Revenir à fcs atari |
Salut,Le problème c'est que ce n'est pas ce que tu as dit, j'avais très bien insisté sur l'attente et tu as dit que je n'avais en gros rien compris, chez moi béotien cela veut dire "inculte", le profane, l'ignorant (au regard de ta soit disant grande culture dans le domaine) et que tu as bien précisé tout seul comme un grand alors que je n'avais parlé que d'attente pour être sur de n'avoir rien laissé que c'était pour je te cite :
OL écrit :Voici le code modifié:Oui, je suis d'accord. C'est équivalent. Mais ça n'est pas ce que
/* * Programme who|wc : compte le nombre d'utilisateurs */ #include <stdio.h>
#include <unistd.h> #include <stdlib.h>
void main(void); int p[2]; /* Identificateurs des canaux de communication */
void main()
{ int pid; /* Identificateur des processus */ if(pipe(p)!=0)
{ perror("\nCreation d'un canal impossible\n");
exit(1);
}
pid=fork();
if(pid==0)
{ /* Processus FILS : Il execute "who" */
close(1); /* Fermeture de la sortie standard */
dup(p[1]); /* Duplique la sortie du fils en sortie standard */
close(p[0]); /* L'entree du fils ne sert plus a rien */
close(p[1]); /* La sortie non plus */
execlp("who","who",NULL);
}
else if(pid<0)
{ perror("\nFork impossible\n");
}
/* Processus Père pas besoin de fork c'est stupide pour faire juste who|wc si on n'a pas besoin d'attendre et de faire autre chose*/
close(0); /* Fermeture de l'entree standard */
dup(p[0]); /* Duplique l'entree du pere en entree standard */
close(p[0]); /* L'entree du pere ne sert plus a rien */
close(p[1]); /* La sortie non plus */
execlp("wc","wc",NULL);
printf("semble que quelque chose s'est mal passé!\n");
exit(1);
}
j'avais écrit. Mon programme a l'intérêt de montrer l'usage de la
fonction wait(). `wait` est aussi une commande Unix, que j'utilise
fréquemment dans les scripts shell. L'intérêt du programme n'était pas
d'être le plus concis possible, mais d'apprendre l'usage du fork().
Il faut bien attendre (sans rien faire), sinon la fin duprocessus père, met fin aux deux processus >fils et petit-fils.Ce qui est parfaitement faux et cela est vrai par contre lorsque l'on parle de thread!
Donc je préfère ma version. Il y a toujours beaucoup de stylesLe problème c'est que vu ce que tu as dit plus haut tu as confondu process et thread!
différents pour écrire la même chose. Chacun son style. Sinon,
je n'emploie pas le terme "thread" car ça n'est pas la même chose.
On parle bien d'un programme parallèle basé sur le multi-processing.
Les messages affichés proviennent d'usenet.