traced process, zombie => server jede blbe
Robert Vojta
robert na v0jta.net
Čtvrtek Únor 12 11:41:05 CET 2004
> Jakym zpusobem dam v threadu nebo ve forku child-procesu, ze
> rodic-proces nevyzvedava navratovy kod??
V diteti se to nenastavuje, dela to rodic ...
a) bud nastavite, ze rodic ignoruje signal SIGCHLD, tj.
signal(SIGCHLD, SIG_IGN);
SIGCHLD = SIGCLD
b) nebo budete v handleru odchytavat signaly, ted tu nic nemam ale
v rychlosti jsem vygoogloval priklad ...
void sig_chld(int signo)
{
int status, wpid, child_val;
printf ("SIGCHLD: In sig_chld signal handler.");
/* Wait for any child without blocking */
wpid = waitpid (-1, & status, WNOHANG);
printf ("SIGCHLD: Waitpid found status for pid: %d", wpid);
printf("SIGCHLD: Waitpid status: %d", status);
if (WIFEXITED(status)) /* did child exit normally? */
{
child_val = WEXITSTATUS(status);
printf("SIGCHLD: child exited normally with status %d", child_val);
}
printf ("SIGCHLD: End of sig_chld.");
}
... samozrejme musite nastavit void sig_chld(int) jako handler
k SIGC[H]LD.
--
Robert Vojta
Další informace o konferenci Linux