perl processus d'arrière-plan

Je suis en train de lancer un processus en arrière-plan en perl. J'ai créer un processus fils, qui est utilisé pour appeler un autre script perl. Je veux l'exécuter en quelques lignes de code, parallèlement à ce processus enfant. Et après le processus de l'enfant est fait.Je veux imprimer une ligne de code.

Script principal

#!/usr/bin/perl

$|=1;

print "before the child process\n";

my $pid = fork();

if (defined $pid)
{
    system("perl testing.pl");
}

print "before wait command\n";

wait();

print "after 20 secs of waiting\n";

testing.pl

#!/usr/bin/perl

print "inside testing\n";

sleep(20);

Résultats attendus

avant le processus de l'enfant 
avant d'attendre de commande 
(faut attendre 20 secondes et ensuite l'imprimer) 
après 20 secondes d'attente
Si ce que vous voir à la place? Il est intéressant de noter que tout ce qui est après le system appel sera exécuté par , le parent et l'enfant.
u r droit.. c'est de l'impression à deux reprises. comment puis-je contrôler?
rêveur: C'est parce que 0 defined valeur en Perl.
Enlevé le bug que vous avez ajoutés dans un montage.
même après qui est fixe, le code après, il est exécuté à la fois le parent et l'enfant, car le if branche contient pas de exit.

OriginalL'auteur dreamer | 2012-11-23