|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valeria Derevenskaya 2:5020/400 23 Jun 2000 13:17:09 To : All Subject : Re: fork -------------------------------------------------------------------------------- Eugene N. Drachenko пишет в сообщении <8it2bb$qhc$1@ns.inep.net> ... >Есть простенькая прога: >/*************************************************/ >#include <stdio.h> >#include <sys/types.h> >#include <unistd.h> >#include <stdlib.h> >#include <signal.h> > >int >main() >{ > int rc; > > while (1) { > rc = fork(); > if (rc < 0) { > printf("Unable fork\n"); > } else { > if (rc == 0) { > printf("Child exit\n"); > exit (0); > } > if (rc != 0) { > printf("Parent\n"); Вот здесь можно сделать, например, так: #if defined(_POSIX_SOURCE) waitpid(rc,&status,0); #else wait(&status); #endif > sleep(3); > } > } > } >} >/*******************************************/ > >При ее запуске каждые 3 секунды порождается дочерний процесс, который должен >сразу же завершится. Все вроде бы хорошо, но если посмотреть ps-ом, то видно >кучу "зомби"-процессов, которые не исчезают пока не прибьешь родительский >процесс. Как бороться с этими "зомби" ? Почитайте на досуге кто такие зомби и откуда они берутся и почему исчезают после того как прибить parent и сразу все станет понятно. -- Valeria Derevenskaya valeri@rivne.net --- ifmail v.2.15dev5 * Origin: RCT (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/1133583033eca.html, оценка из 5, голосов 10
|