Journal Perl sous Windows

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
mai
2004
Avant tout Troll, ma question est : y a-t-il une limitation du nombre de fork que peut faire un script Perl sous windows ?

Actuellement, mes fork s'arrêtent au 64ème :(

N.B.: Petite précision ce script tourne sous Win 2000 et Perl 5.8.
  • # sans troller

    Posté par  . Évalué à -2.

    sans vouloir troller, je crois que windows à des problemes avec la gestion des processus, et ils font tout pour dissuader d'en faire trop... du genre, on ne peut pas avoir plus de 20 applications dans la barre des taches (le truc en bas).
    Alors, qu'ils aient limité à 64, ca m'etonnerait pas. Cela dit, j'y connais rien en programmation windows.
  • # Elémentaire

    Posté par  . Évalué à 7.

    En fait il y a une raison toute simple à cette limitation ::

    "Un ordinateur n'aura jamais besoin de forker plus de 64 fois."

    B. Gates
  • # Informations complémentaires

    Posté par  (site web personnel) . Évalué à 2.

    Pour faire simple, j'ai une boucle et dans cette boucle je n'autorise qu'un certains nombres de fork.
    A chaque tour de boucle, s'il met possible de forker, alors je le fait et j'incrémente un compteur.

    Le problème n'est pas de vouloir forker 64 fois en un seul coup, mais si je ne veux avoir que 3 fork dans un tour, alors au bout de 22 tours je me fais jeter. Pareil avec 10 fork par tour, au bout de 7 tours, je n'ai plus la possiblité de forker.
    • [^] # Re: Informations complémentaires

      Posté par  . Évalué à 0.

      mal heureusement là je crois que tu ne sais pas compter : les processus fils que tu viens de créer, et bien eux aussi ils bouclent, et eux aussi ils fork, ainsi de suite ... genre ça
              for (level = 0; level < max_level; level++) {
                      int pid = fork();
                      if (pid < 0)
                              perror("fork"), exit(1);
              }
      et ben accroche toi !
  • # experience perso

    Posté par  . Évalué à 4.

    je me souviens un jour, il y a longtemps, j'étais jeune, suffisement jeune pour etre très con, et déjà trop vieux pour etre inoncent.

    A l'époque j'étais sous windows, j'allais sur irc.
    J'ai voulu lancer le plus de ping possible et pour celà j'ai lancé environ 64 commandes ms-dos, je ne pouvais pas en faire plus. Il me semble de mémoire que j'en étais à 64 fenetres ouvertes.

    Bon entre temps je me suis mis à Linux, j'ai découvert le `ping -f`. Et puis je suis devenu un tout petit peu moins con et j'ai arretté de pinger les gens, meme les méchants. Enfin, j'ai arretté irc (à l'exception des chan techniques).
    • [^] # Re: experience perso

      Posté par  . Évalué à 1.

      [...]
      J'etait con j'utilisait Windows et 64 fenêtres avec ping
      [...]
      maintenant (je suis pas con, car) j'utilise Linux et une seul fenêtre avec ping -f

      Quel progrés ! ;-)


      Plus sérieusement, ce n'était pas un problème de ressources ?

      Quelque chose de marrant dans les Win9x, des zones de mémoire fixe(!):
      2 de 64 Ko pour les ressources 16 bits et 3 de 2 Mo pour celle de 32bits. Quand les ressources venaient à manquer, tu avais droit a une fenêtre au look Win3.1 dans Win (95,98) !!
      Généralement, ça crashait quelques secondes aprés.

      Ce problème a disparu avec NT (au moins celui là!), et etait encore bien plus catastrophique à l'époque des Win3.x

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.