#1 Le 23/06/2013, à 22:44
- samoudi
exercice sur fork()
pouvez -vous me donner l'arbre des processus créés par ce programme:
#include <unistd.h>
int main(){
if (fork())
(fork() || ( fork()) && fork() )) && fork() ;
else
fork();
;
return 0;
}
Hors ligne
#2 Le 23/06/2013, à 22:56
- myrddin772
Re : exercice sur fork()
euh... n'y aurait-il pas un soucis de parenthèse à ce niveau ?
(fork() || ( fork()) && fork() )) && fork() ;
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
#3 Le 23/06/2013, à 23:01
- samoudi
Re : exercice sur fork()
voila j'ai corrigé la ligne
( fork() || ( fork() && fork() ) ) && fork() ;
Hors ligne
#4 Le 23/06/2013, à 23:03
- myrddin772
Re : exercice sur fork()
Maintenant, il ne me reste plus qu'à comprendre ce que fait la commande fork()
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
#5 Le 23/06/2013, à 23:15
- samoudi
Re : exercice sur fork()
tu ne sais meme comment s'utilise fork() !!!!!
comme ça tu n'arrive plus à repondre à ma question
Dernière modification par samoudi (Le 23/06/2013, à 23:16)
Hors ligne
#6 Le 23/06/2013, à 23:17
- myrddin772
Re : exercice sur fork()
Je n'avais pas compris que cet exercice était réservé aux seuls connaisseurs...
Désolé
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
#7 Le 23/06/2013, à 23:27
- Korak
Re : exercice sur fork()
Bonjour,
Voici ce qu'est un fork si je ne me trompe pas.
Et, toujours si je ne me trompe pas, tu utilises le langage de programmation C. Juste?
Mais je ne comprend rien à ceci:
if (fork())
(fork() || ( fork()) && fork() )) && fork() ;
else
fork();
Peux-tu expliquer ce que cette condition est censée faire? Parce que là, je n'y comprend rien.
Dernière modification par Korak (Le 23/06/2013, à 23:29)
OS: Ubuntu 24.04 64 bits + Windows 11 64 bits en dualboot (BIOS UEFI, Secure Boot activé et table de partitions GPT)
PC portable HP 17-CP0308NF Processeur: AMD Ryzen 7 5700U avec carte graphique AMD Lucienne intégrée au processeur. Mémoire vive: 16 Go RAM
Quand vous ne trouvez pas la solution à un problème, cherchez des pistes menant à la solution !
Hors ligne
#8 Le 23/06/2013, à 23:35
- samoudi
Re : exercice sur fork()
oui c'est un programme ecrit en c sous linux
apres l'execution de ce programme un nombre de processus qui seront créés sous un arborescence
que je cherche
Hors ligne
#9 Le 23/06/2013, à 23:38
- pires57
Re : exercice sur fork()
ouai c'est bien du C.
Je ne sais pas ou tu as chopper ce bout de code mais je ne vois pas trop son utilité.
edit: Pour linux, ce n'étais pas la peine de préciser, fork ne peut être utilisé sous windows
Dernière modification par pires57 (Le 23/06/2013, à 23:39)
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#10 Le 23/06/2013, à 23:44
- samoudi
Re : exercice sur fork()
je cherche pas à savoir son utilité
je veux juste savoir ce que fait ce programme
cela m'est trés utile
il me servira à comprendre plusieurs choses
Hors ligne
#11 Le 23/06/2013, à 23:45
- myrddin772
Re : exercice sur fork()
Merci (encore) Korak
J'avais compris que fork() créait un processus identique à celui d'où l'appel était lancé mais, si j'ai compris les quelques pages que j'ai pu lire en vitesse, il renvoie un pid (nul pour le processus fils)...
Mais c'est vrai que le principe de "copie le processus, et si tu n'y parviens pas, ben fais le..." est assez, comment dire, troublante.
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
#12 Le 23/06/2013, à 23:53
- Korak
Re : exercice sur fork()
J'avais compris que fork() créait un processus identique à celui d'où l'appel était lancé
Je ne dit pas que tu n'avais pas compris. J'ai posé la question de savoir si je suis dans le bon concernant fork. Ce qui est apparemment le cas.
Mais je ne comprend pas ce que cette condition:
if (fork())
(fork() || ( fork()) && fork() )) && fork() ;
else
fork();
Est censée faire.
Mais alors là, je ne comprend vraiment pas.
Si quelqu'un veux bien expliquer ce que cette condition est censée faire, ça pourrait peut-être éclairer ma lanterne.
OS: Ubuntu 24.04 64 bits + Windows 11 64 bits en dualboot (BIOS UEFI, Secure Boot activé et table de partitions GPT)
PC portable HP 17-CP0308NF Processeur: AMD Ryzen 7 5700U avec carte graphique AMD Lucienne intégrée au processeur. Mémoire vive: 16 Go RAM
Quand vous ne trouvez pas la solution à un problème, cherchez des pistes menant à la solution !
Hors ligne
#13 Le 24/06/2013, à 07:24
- tiramiseb
Re : exercice sur fork()
Salut,
La fonction "fork" fait un effet un fork du processus (c'est comme ça qu'on crée des logiciels multi-processus, par exemple Apache utilise cette fonction pour faire "naître" la quantité de listeners dont li a besoin).
Elle peut retourner trois choses :
- au parent, le PID du processus enfant
- à l'enfant, le nombre 0
- si le fork échoue, le nombre -1
De son côté, "if" interprète un entier de la manière suivante :
- faux s'il est égal à 0
- vrai pour tout nombre, positif au négatif.
Les "&&" et "||" sont utilisés dans énormément de langages pour faire une syntaxe plus simple que "if" :
A && B || C
... est équivalent à :
if (A) {
B
} else {
C
};
Maintenant, cette question précise ressemble furieusement à un exercice/examen/concours ou autre, alors tant que tu n'auras pas expliqué exactement pourquoi tu cherches à comprendre ça, d'où tu l'as tiré et ce que tu comptes en faire, je n'expliquerai pas ton bout de code. Car je ne veux pas faire tes exercices à ta place.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#14 Le 25/06/2013, à 22:03
- myrddin772
Re : exercice sur fork()
Tiens, c'est étrange de ne plus avoir de nouvelles...
Sinon, il me semble (par contre je ne sais absolument plus où j'ai lu ça) que certain langages/compilateurs "simplifient" les tests de condition : ils n'évaluent la deuxième opérande d'un ...
- OU lorsque la première est vraie,
- ET lorsque la première est fausse.
Est-ce une connerie ou pas ?
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
#15 Le 25/06/2013, à 22:22
- pires57
Re : exercice sur fork()
Après quelques recherches j'ai retrouver exactement le même code couplé à la même question. Il s'agit d'un exo données pour une licence en réseau, dans tout les cas, ce n'est pas très honnête de ta part de faire faire tes exo par d'autre personnes. Je comprend mieux pourquoi tu n'as pas voulu dire d'où venait ce bout de code...
Pour ce qui est des conditions, en effet, tu sort de la boucle quand la condition est respectée donc le reste n'est pas analyser
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#16 Le 06/12/2015, à 13:05
- hanouna9415
Re : exercice sur fork()
svp je besoin la correction du ce exercice ....merciiii
Hors ligne
#17 Le 06/12/2015, à 13:20
- tiramiseb
Re : exercice sur fork()
Ça c'est complètement du foutage de gueule !
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#18 Le 06/12/2015, à 13:27
- Korak
Re : exercice sur fork()
Ça c'est complètement du foutage de gueule !
OS: Ubuntu 24.04 64 bits + Windows 11 64 bits en dualboot (BIOS UEFI, Secure Boot activé et table de partitions GPT)
PC portable HP 17-CP0308NF Processeur: AMD Ryzen 7 5700U avec carte graphique AMD Lucienne intégrée au processeur. Mémoire vive: 16 Go RAM
Quand vous ne trouvez pas la solution à un problème, cherchez des pistes menant à la solution !
Hors ligne
#19 Le 06/12/2015, à 16:31
- pires57
Re : exercice sur fork()
On es pas la pour faire vos exos! On peut éventuellement vous orienter mais c'est tout, vos diplômes vous devez les obtenir par vos travaux, pas par les notre.
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#20 Le 06/12/2015, à 16:42
- Zakhar
Re : exercice sur fork()
On es pas la pour faire vos exos! On peut éventuellement vous orienter mais c'est tout, vos diplômes vous devez les obtenir par vos travaux, pas par les notre.
En fait, ça puait dès le début la demande de solution à un exercice !..
C'est pas le premier qu'on a ici, ni le dernier qu'on aura jamais !..
Dernière modification par Zakhar (Le 06/12/2015, à 16:43)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#21 Le 06/12/2015, à 17:20
- cqfd93
Re : exercice sur fork()
svp je besoin la correction du ce exercice ....merciiii
Inscrit aujourd'hui juste pour demander cette correction... Ouaf, ouaf, ouaf !!!
Relis tes cours et creuse-toi la tête, ça sera bien plus efficace !
− cqfd93 −
Hors ligne
#22 Le 06/12/2015, à 19:32
- hanouna9415
Re : exercice sur fork()
y a pas pire de demander de savoir quelque chose que ne jamais avoir la connaissance ... vos commentaires me montrent bien que vous ne savez pas la réponse alors arrêtez d'écrire vos bêtises ... merci
Hors ligne
#23 Le 06/12/2015, à 19:44
- cqfd93
Re : exercice sur fork()
T'inquiète pas pour nos connaissances. Elles sont certainement bien au-dessus de ce que tu peux acquérir en procédant comme tu le fais sans chercher à faire fonctionner tes neurones. Quant à ceux qui écrivent des bêtises, les lecteurs jugeront...
− cqfd93 −
Hors ligne
#24 Le 06/12/2015, à 19:47
- tiramiseb
Re : exercice sur fork()
Ce n'est pas en cherchant des réponses toutes faites qu'on acquiert de connaissances. C'est en travaillant, surtout quand on est justement en train de suivre des études dans le domaine.
Quant à nous, pendant bois études on a fait comme tu devrais le faire : réfléchir.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#25 Le 06/12/2015, à 19:53
- hanouna9415
Re : exercice sur fork()
je veux seulement savoir vos réponses en les comparent avec la mienne ni plus ni moins .... si vous l'auraient pas alors y a plus pourquoi faire ce genre de discussion ... a dieu merci !
Hors ligne