i am creating children processes using fork system call
every child i create goes to sleep for random time.
when child stops running how can i catch his signal and turminate the child
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/wait.h>
void childexit(int signal_num) {
int retval, nval;
char buf[256];
bzero(buf,256);
nval = waitpid(0,&retval,WNOHANG);
sprintf(buf,"Waited on child %d which exited with code = %d\n",nval,retval);
write(STDOUT_FILENO,buf,256);
}
int main(void) {
signal(SIGCHLD,childexit);
/*rest of code*/
}
ok i think i got it
thanks