Jak nezombifikovat proces
Veros Kaplan
xkaplan na informatics.muni.cz
Čtvrtek Říjen 8 11:56:33 CEST 1998
Mam problem, vyrobil jsem si nasledujici program:
main(){
otevrit_soket
while(1) {
listen na ten soket
newsock = accept ;
if (fork == 0) {
obsluz pozadavek
exit (0);
}
waitpid (-1, NOHANG)
}
}
Ceka na pozadavek, kdyz prijde, naforkuje se a forkovana cast se
ukonci. Vsechno funguje, az na kosmetickou vadu. Ten naforkovany se
ukonci, ale zustane tam jako zombie, portoze skonci pozdeji nez
se zavola wait. Kdyby na neho wait cekal, tak se muze stat, ze prijde
pozadavek, ktery server neobslouzi.
Jak na to?
Preji krasny den
Veros
--
Veros Kaplan <xkaplan na informatics.muni.cz> http://www.fi.muni.cz/~xkaplan
ISO-8859-2 compatible student Fakulty informatiky, MU Brno
Další informace o konferenci Linux