/** * @brief SIGCHILD signal handler * * @param sig signal number */ void sigchild_handler(int sig) { UNUSED(sig); struct pidlist_item_t * item; pid_t child_pid = waitpid(-1, NULL, WNOHANG); if ((item = pidlist_find(&pidlist, child_pid))) { // was it running on background? pidlist_remove(&pidlist, item); fprintf(stderr, MSG_SIGCHILD, child_pid); } }
int bb_is_running(pid_t proc) { return pidlist_find(proc); }