7
votes

Obtenir le bon processus de processus des processus enfants

Donc, je reproche quelques processus et j'essaie de comprendre le PID du processus lorsqu'il obtient certaines données, voici mon code:

stdout (78748): 18/7/13 15:46:26
stdout (78748): 18/7/13 15:46:26
stdout (78748): 18/7/13 15:46:27


0 commentaires

3 Réponses :


9
votes

Vous rencontrez un problème de précaution avec la variable ChildProcess code>. Les variables en JavaScript sont fonctionnées. Pour cette raison, la variable n'est pas exclusive à la boucle.

Exemple simplifié de code Agissant comment vous l'avez: P>

for (var i = 0; i < 3; ++i) {
    (function() {
        var someNumber = i;

        setTimeout(function() {
            console.log(someNumber);
        }, 100);
    })();
}


0 commentaires

3
votes

ressemble à un problème de fermeture. Passez la variable de boucle à une fonction de sorte que la portée n'est pas affectée.

stdout (10964): Microsoft Windows [Version 6.2.9200]
stdout (10964): Microsoft Windows [Version 6.2.9200]
stdout (10964): Microsoft Windows [Version 6.2.9200]


0 commentaires

1
votes

Fait amusant: en modifiant simplement var à laisse à l'intérieur du pour initialisateur, vous évitez ce problème!

Remarque, cependant, cela ne fonctionne que si la variable est dans la portée de la boucle. Déclarez-le avant la boucle et vous obtenez les mêmes résultats que var .


0 commentaires