Deutsch English Français Italiano |
<ahOiapR6kcRTks1i2Pc4ypcEM3o@jntp> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!pasdenom.info!from-devjntp Message-ID: <ahOiapR6kcRTks1i2Pc4ypcEM3o@jntp> JNTP-Route: news2.nemoweb.net JNTP-DataType: Article Subject: Re: fork() sous Multitos question =?UTF-8?Q?=C3=A0=20Fran=C3=A7ois?= References: <M8e3pvNp4cbQ8PseiWxbN_ORsQs@jntp> <81f7a286-e4ae-495c-9527-d15d720575a1n@googlegroups.com> <PkoV1QHwjG6i89kf67QK2xCcllk@jntp> <u2tbbd$3un10$1@paganini.bofh.team> <ztqSp_hYdmEO8dUjnwI-UcARM20@jntp> <u2ugim$2lt4$1@paganini.bofh.team> Newsgroups: fr.comp.sys.atari JNTP-HashClient: fylAFS5FSbmZ7mDDiwZQQvhwn1Q JNTP-ThreadID: 53mGNaW-tNcWq-bWiAlznNy1m4c JNTP-Uri: http://news2.nemoweb.net/?DataID=ahOiapR6kcRTks1i2Pc4ypcEM3o@jntp User-Agent: Nemo/0.999a JNTP-OriginServer: news2.nemoweb.net Date: Wed, 03 May 23 21:11:12 +0000 Organization: Nemoweb JNTP-Browser: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/112.0 Injection-Info: news2.nemoweb.net; posting-host="7d341e3454ec4b1c53e88ae37e79f0815f3a8324"; logging-data="2023-05-03T21:11:12Z/7894415"; posting-account="69@news2.nemoweb.net"; mail-complaints-to="newsmaster@news2.nemoweb.net" JNTP-ProtocolVersion: 0.21.1 JNTP-Server: PhpNemoServer/0.94.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-JNTP-JsonNewsGateway: 0.96 From: OL <ol.google@lutece.net> Bytes: 4949 Lines: 76 Le 03/05/2023 à 22:35, Francois LE COAT a écrit : > Salut, > > OL écrit : >> Voici le code modifié: >> >> /* * 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); >> } > > Oui, je suis d'accord. C'est équivalent. Mais ça n'est pas ce que > 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(). 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 : >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 styles > 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. Le problème c'est que vu ce que tu as dit plus haut tu as confondu process et thread! Faut redescendre de ton nuage et réfléchir 2 fois avant de rabaisser les gens à longueur de posts avec ta soit disant supériorité. Maintenant chacun écrit son code comme il veut du moment que cela marche et sur mon premier post je n'ai rien eu à redire notes le (j'ai passé sous silence les erreurs de frappes grossières car sans importance le pinaillage très peu pour moi) cela ne t'a pas empêché de partir comme en 40! OL