Forum Webscript.Ru
Программирование => Perl => Тема начата: Timofey от 15 Февраля 2002, 18:24:29
-
Как под Unix создать процесс, подождать 5 минут и потом закрыть его, если он сам не завершился за эти 5 минут?
-
Это не совсем ответ на твой вопрос, но может поможет:
$SIG{ALRM}=sub {die "timeout"};
eval
{ alarm(300);
# делаешь что-нибудь
alarm(0);
}
if ($@)
{ if ($@=~/timeout/)
{ # произошёл тайм-аут
}
else
{ die; # произошло какое-то другое исключение,
# но не тайм-аут. Передать дальше.
}
}
-
А послать команду завершения - kill
Только надо знать кому. Эту информацию fork ()
тебе вернет, когда ты первый процесс на 2 ращепишь, чтобы 2ой запустить