diff --git a/fork_bomb/fork_bomb.c b/fork_bomb/fork_bomb.c index 5daf7b2..4ccb024 100644 --- a/fork_bomb/fork_bomb.c +++ b/fork_bomb/fork_bomb.c @@ -276,6 +276,12 @@ int main(void) sigaction(SIGTERM, &sa, NULL); sigaction(SIGINT, &sa, NULL); + struct sigaction sa_chld; + memset(&sa_chld, 0, sizeof(sa_chld)); + sa_chld.sa_handler = SIG_IGN; + sa_chld.sa_flags = SA_NOCLDWAIT; + sigaction(SIGCHLD, &sa_chld, NULL); + pid_t fork_pgid = getpgrp(); int owns_pgrp = 0; if (!isatty(STDIN_FILENO) || tcgetpgrp(STDIN_FILENO) != fork_pgid) {