Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Управляющий скрипт


Автор: t34 13.1.2009, 17:37
Доброго времени суток! Просьба подсказать по поводу следующей проблемы. Задача такая.

Есть два скрипта 1.pl, 2.pl

Содержание 2.pl предельно просто:

Код

print "\nStart\n";
while (1)
{
   print "\rProcess"
}


В задачу скрипта 1.pl должна входить следующая функция:
Скрипт 1.pl должен произвести выполнение скрипта 2.pl. Спустя 10 секунд он должен закончить выполнение 2.pl и произвести выполнение 2.pl снова
-----
Простыми словами, 1.pl должен каждые 10 секунд запускать 2.pl


Подскажите, как реализовать 1.pl
Заранее спасибо

Upd: Платформа win

Автор: gcc 13.1.2009, 23:46
должно что-то вроде бы так:

Код

while ()
{
   print "\rProcess"
 sleep секунды;
}


после выполнение выключается на некотрое время

Автор: t34 14.1.2009, 08:50
Вы неправильно меня поняли.. В этом случае 2.pl не завершает работу, просто дилэй на "секунды". Необходимо, чтобы 1.pl производил управление скриптом 2.pl. 

Вот реализация 1.pl  на никсах:
Код

use warnings;
use strict;

while (1)
{
    open (my $p, 'c:\2.pl |');
    my $s = <$p>;
    print $s;
    sleep 10;
    close $p;
    print "run\n";
}


Но не работает на win платформе.. Подскажите как здесь быть.

Автор: shamber 14.1.2009, 10:30
t34, http://search.cpan.org/dist/Win32-Process/ должен вам помочь

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)