kde se berou zombie
Robert Vojta
vojta na ipex.cz
Středa Červen 6 09:28:30 CEST 2001
> nekdy se mi na jednom ze serveru objevi za par dnu zemrele procesy -
> zombie. Napr. nedavno po 4 dnech uptimeu
> serveru jsem vypozoroval 4 zombie. Nevite nekdo kde se berou, proc a jak
> vznikaji?
Treba tak, ze proces vytvori deti, nezajima ho jejich stav ukonceni a
opomene treba zavolat signal(SIGCLD,SIG_IGN), dite se ukonceni a je z neho
razem zombie ... Muzete se podivat na tento priklad ...
...
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
int
main(int argc, char *argv[])
{
int childs = 0;
/* signal(SIGCLD,SIG_IGN); */
while (++childs <= 20) {
switch (fork())
{
case 0:
printf("Dite %d. konci ...\n", childs);
return 0;
case -1:
printf("fork() chyba\n");
exit(-1);
default:
break;
}
}
printf("Cekam 20 vterin a muzete se podivat na 20 zombiku\n");
sleep(20);
return 0;
}
...
Vemte, zkompilujte `gcc -o zombie zombie.c`, pustte `./zombie` a kdyz si
date `ps ax | grep zombie` a uvidite tech 20 avizovanych zombiku ...
...
2777 pts/1 Z 0:00 [zombie <defunct>]
...
Pokud odkomentujete /* signal(SIGCLD,SIG_IGN); */, zkompilujete a pustite
to znovu, zadne zombiky neuvidite ...
> Mohou nejak ovlivnit cinnost serveru?
Zaplni tabulku procesu ...
.R.V.
--
_
|-| __ Robert Vojta <vojta-at-ipex.cz> -= Oo.oO =-
|=| [Ll] IPEX, s.r.o.
"^" ====`o
------------- další část ---------------
A non-text attachment was scrubbed...
Name: [žádný popis není k dispozici]
Type: application/pgp-signature
Size: 240 bytes
Desc: [žádný popis není k dispozici]
URL: <http://www.linux.cz/pipermail/linux/attachments/20010606/f535a588/attachment.sig>
Další informace o konferenci Linux