Forum Webscript.Ru

Программирование => Perl => Тема начата: Stady от 15 Ноября 2004, 15:20:09

Название: Завершение дочерних процессов
Отправлено: Stady от 15 Ноября 2004, 15:20:09
Народ помогите! У меня такая вот проблема: надо написать скрипт, который запускает прогу. Прога опрашивает компы и выдаёт stdout. Т.к. компов много приходиться запускать сразу несколько процессов. Проблема у меня в том, что эта прога, если комп не отвечает, имеет очень долгий тайм аут. Короче, как мне сделать так, что если прога работает более 15 секунд, то завершить её??? :confused:
Название: Завершение дочерних процессов
Отправлено: NeoNox от 15 Ноября 2004, 16:09:35
Методов написаня море.
Ты бы показал как ты запускаешь программу.
Название: Завершение дочерних процессов
Отправлено: Stady от 16 Ноября 2004, 10:17:43
Я считываю из конфигурационного файла значения,

open(FL,"$conffile") or die "Couldn\'t open file $conffile $!";
while(){
chomp;
($ip,$port)=split(/-/,$_);    #read data from file
if (!defined ($pid = fork())) {
die "cannot fork: $!";
} elsif ($pid == 0) {
exec("programm.......");
}
Название: Завершение дочерних процессов
Отправлено: NeoNox от 16 Ноября 2004, 11:52:17
perldoc -f alarm
Но я не уверен что здесь уместно вызывать exec, посмотри system.