handle SIGCHLD signal to avoid zombie process