Forum Webscript.Ru

Программирование => Perl => Тема начата: Timofey от 15 Февраля 2002, 18:24:29

Название: работа с процессами
Отправлено: Timofey от 15 Февраля 2002, 18:24:29
Как под Unix создать процесс, подождать 5 минут и потом закрыть его, если он сам не завершился за эти 5 минут?
Название: работа с процессами
Отправлено: Evgeny от 15 Февраля 2002, 18:44:16
Это не совсем ответ на твой вопрос, но может поможет:


$SIG{ALRM}=sub {die "timeout"};
eval
{  alarm(300);
                                    # делаешь что-нибудь
    alarm(0);
}

if ($@)
{  if ($@=~/timeout/)
    {                              # произошёл тайм-аут
    }
    else
    {  die;                         # произошло какое-то другое  исключение,
                                    # но не тайм-аут. Передать дальше.
    }
}
Название: работа с процессами
Отправлено: Oak от 15 Февраля 2002, 19:04:19
А послать команду завершения - kill
Только надо знать кому. Эту информацию fork ()
тебе вернет, когда ты первый процесс на 2 ращепишь, чтобы 2ой запустить