IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Problème avec un sleep


Sujet :

Linux

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Points : 91
    Points
    91
    Par défaut Problème avec un sleep
    Bonjour ,

    J ai deja poste ce code sur le forum C mais apparement le code serai juste ... Le probleme viendrait d'UNIX ...

    Le probleme c est que le sleep ne marche pas , par contre le terminal affiche un temps different a chaque fois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for(i=0;i<=client;i++){
        switch(fork()) {
            case 0: {
              srand(getpid());
              temps = (rand() % 10) + 1; 
              printf("client arrive ds %d",temps); 
              sleep(temps);
              processusclient(); 
            }
        }
    }

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Treuze
    Bonjour ,

    J ai deja poste ce code sur le forum C mais apparement le code serai juste ... Le probleme viendrait d'UNIX ...

    Le probleme c est que le sleep ne marche pas , par contre le terminal affiche un temps different a chaque fois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for(i=0;i<=client;i++){
        switch(fork()) {
            case 0: {
              srand(getpid());
              temps = (rand() % 10) + 1; 
              printf("client arrive ds %d",temps); 
              sleep(temps);
              processusclient(); 
            }
        }
    }

    salut, ben tu auras sans doute les mêmes réponses...


    au fait, as-tu tester ton sleep seul ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Points : 91
    Points
    91
    Par défaut
    eh oui , et le sleep seul marche bien

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Treuze
    eh oui , et le sleep seul marche bien

    et tout le reste marche bien ???
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Points : 91
    Points
    91
    Par défaut
    j ai teste mon sleep ds un autre programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    printf("avant sleep");
    sleep(5);
    printf("apres sleep");
    aucun probleme avec ce bout de code

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par gorgonite
    et tout le reste marche bien ???

    je parlais du reste du programme avec le fork & cie
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut

    faut lire la premiere ligne pour comprendre
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Points : 91
    Points
    91
    Par défaut
    Pas vraiment de probleme apres le fork

    Programme complet :

    http://www.developpez.net/forums/sho...=159042&page=2

  9. #9
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par gorgonite
    faut lire la premiere ligne pour comprendre
    méa culpa !!

  10. #10
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Treuze
    Pas vraiment de probleme apres le fork

    Programme complet :

    http://www.developpez.net/forums/sho...=159042&page=2


    incompréhensible... mais tu peux essayer de passer temps en argument à la fonction fils qui fera le sleep au début.
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  11. #11
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Points : 91
    Points
    91
    Par défaut
    ca ne change rien ... c vraiment bizarre cet histoire

  12. #12
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <unistd.h>
     
    int main()
    {
        int i,temps,client=1;
     
        for(i=0;i<=client;i++){
            switch(fork()) {
                case 0: {
                srand(getpid());
                temps = (rand() % 10) + 1; 
                printf("client arrive ds %d",temps); 
                sleep(temps);
                /*processusclient(); */
                }
            }
        }
        return EXIT_SUCCESS;
    }
    client arrive ds 7client arrive ds 9client arrive ds 7client arrive ds 6
    Moi le sleep fonctionne, ou est le mal ?

  13. #13
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par gnto
    Moi le sleep fonctionne, ou est le mal ?

    t'as rien mis après comment tu le sais
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  14. #14
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par Treuze
    J ai deja poste ce code sur le forum C mais apparement le code serai juste ... Le probleme viendrait d'UNIX ...

    Le probleme c est que le sleep ne marche pas , par contre le terminal affiche un temps different a chaque fois
    Qu'est-ce qui te fait conclure que le sleep ne marche pas ???

    Le programme rend la main immédiatement, mais c'est tout à fait normal, puisque le sleep est fait dans chacun des processus fils (retour de fork à 0).

    Par contre, la boucle for (i ...) étant dupliquée pour chaque fils, ça va finir par faire un sacré paquet de processus !

    Avec client = 5, ça fait un processus qui en lance 6, qui chacun en lancent 5, qui chacun en lancent 4, qui ...
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  15. #15
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par gorgonite
    t'as rien mis après comment tu le sais
    héhé oui j'enchaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <unistd.h>
     
    int main()
    {
        int i,temps,client=1;
     
        for(i=0;i<=client;i++){
            switch(fork()) {
                case 0: {
                srand(getpid());
                temps = (rand() % 10) + 1; 
                printf("client arrive ds %d\n",temps);
                sleep(temps);
                /*processusclient(); */
                printf("toto\n");
                }
            }
        }
        return EXIT_SUCCESS;
    }
    freak@Qouark ~ $ ./test4
    client arrive ds 6
    client arrive ds 2
    freak@Qouark ~ $ toto
    toto
    client arrive ds 8
    toto

  16. #16
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par gnto
    héhé oui j'enchaine

    c pas gentil
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  17. #17
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par gorgonite
    c pas gentil
    Le boulet c'est moi qu'on se comprenne

  18. #18
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par gnto
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <unistd.h>
     
    int main()
    {
        int i,temps,client=1;
     
        for(i=0;i<=client;i++){
            switch(fork()) {
                case 0: {
                srand(getpid());
                temps = (rand() % 10) + 1; 
                printf("client arrive ds %d",temps); 
                sleep(temps);
                /*processusclient(); */
                }
            }
        }
        return EXIT_SUCCESS;
    }


    Moi le sleep fonctionne, ou est le mal ?
    Oui ! je suis desole de vous avoir fait perdre du temps ! C etait plus une erreur d algorithmei : je voulais que le client arrive X secondes apres le precedent ...

    Merci a tous , ej vais maintenant change de pseudo , de provider et d ecriture ...

  19. #19
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Treuze
    Merci a tous , ej vais maintenant change de pseudo , de provider et d ecriture ...

    gni ??? avec les sous-titres ça donne quoi
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  20. #20
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    heu oui pourquoi tant de haine ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problême avec fonction Sleep
    Par WDKyle dans le forum VB.NET
    Réponses: 8
    Dernier message: 31/03/2010, 11h30
  2. [subversion/trac] Probl. de permission avec authz dans svnserve.conf
    Par mcdeffice dans le forum Administration système
    Réponses: 0
    Dernier message: 23/07/2009, 16h21
  3. Problème avec fonction sleep
    Par pitxu dans le forum Apache
    Réponses: 2
    Dernier message: 07/02/2008, 03h27
  4. [PHP-JS] probleme avec fonction sleep()
    Par m_jaz3 dans le forum Langage
    Réponses: 8
    Dernier message: 26/12/2007, 14h04
  5. Problème avec fonction Sleep
    Par Evens dans le forum C++
    Réponses: 2
    Dernier message: 28/11/2007, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo