2011-08-01 5 views
3

J'ai besoin d'aide sur Perl. Je suis nouveau à ce sujet. Je veux exécuter un script perl de mon script perl parent et couvrir les scénarios suivants:Vous voulez exécuter un script Perl dans un script Perl

if (my child script takes more time than my time limit) 
{ 
    I need to kill the child script with a return code 
    logged into my parent script log file 
} 

if (my child script failed to execute) 
{ 
    I need to write a new RC to my parent script logfile 
    by looking at my child script exit status 
} 

tout organisme peut fournir le code pour cela comme la façon d'utiliser fork, exec et traiter les commandes liées à chercher l'identifiant du processus enfants lorsque mon script parent est exécuté?

+0

Seul un parent peut tuer un enfant. : D –

Répondre

1

La page de manuel perlipc (communication inter-processus) serait un bon point de départ.

+0

Perlipc est assez décourageant pour les débutants. Malheureusement, je n'ai rien d'autre à recommander. – Zaid

+0

forking n'est pas vraiment un sujet débutant. Mais c'est assez simple, et la page perlipc n'est pas vraiment mauvaise. –

0

générale:

fork() renvoie un nombre entier dans, undef si elle échoue.

Vous vérifiez la valeur de l'entier

  1. si elle est 0 alors vous êtes dans l'enfant, et que vous exécutez vos tâches enfantines.
  2. si ce n'est pas 0 alors votre dans le parent, et vous avez le pid de l'enfant, donc vous l'attendez, ou le récolter au besoin.

Il existe un bon exemple du squelette de ce type de code dans le document perlipc déjà mentionné.

Questions connexes