Подскажите пожалуйста, почему код вида:
$kid = fork() or die($!)
if($kid)
{
waitpid($kid,0);
}
else
{
exec("some_bin");
}
почему в таком варианте, родитель дожидается завершения работы сынка, и продолжает заниматься своими делами, но после сынка остается зомбированный процесс perl. Я считал, что exec подменяет бинарником вызвавший его код и когда заканчивается выполнение, или родитель убивает сынка, то все заканчивается. А так же еще вопрос, а как сделать неблокирующий waitpid? Читал что такое бывает, но вот как именно сделать - не получается.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум pipe()+exec() (2019)
- Форум Потоки и fork() (2009)
- Форум Perl + FastCGI + nginx (2009)
- Форум помогите найти ошибки в следующем перловом коде (2004)
- Форум как присвоить ребенку новую группу процесса? (2020)
- Форум Нюансы запуска процессов через system/exec (2020)
- Форум [c][perl?] exec (2008)
- Форум Разработка своего shell'a (2012)
- Форум exec () (2013)
- Форум exec (2003)