#include "signal_handler.h" #include #include #include void signal_handler(int signal) { if (signal == SIGINT) { interrupt_issued = 1; } else if (signal == SIGTSTP) { stop_issued = 1; kill(getpid(), SIGINT); } } void handle_interrupt(pid_t pid) { int status; if (stop_issued) { stop_issued = 0; interrupt_issued = 0; } else if (interrupt_issued) { interrupt_issued = 0; kill(pid, SIGKILL); waitpid(pid, &status, 0); printf("Killed [%ld]\n", (long)pid); return; } kill(pid, SIGCONT); printf("[%ld]\n", (long)pid); }