Хотите выполнить Perl-скрипт в Perl-скрипте - PullRequest
3 голосов
/ 01 августа 2011

Мне нужна помощь по Perl. Я новичок в этом. Я хочу выполнить сценарий perl из моего родительского сценария 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
} 

Может ли любое тело предоставить код для этого, например, как использовать команды fork, exec и process получить идентификатор процесса дочерних процессов при выполнении моего родительского скрипта?

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Справочная страница perlipc (межпроцессное взаимодействие) будет хорошим началом.

0 голосов
/ 02 августа 2011

Обычно:

fork () возвращает целое число, undef в случае сбоя.

Вы проверяете значение целого числа

  1. , если оно равно 0тогда вы в ребенке и выполняете свои детские задачи.
  2. если он не равен 0, то у вас в родительском, и у вас есть пид ребенка, поэтому вы ждете его или пожинаете егопо мере необходимости.

Есть хороший пример скелета такого рода кода в документе perlipc, о котором уже упоминалось davorg.

...