Write a C program in Linux to implement the following functionalities Declare a global variable usr_interrupt=1 Write a signal handler function voidreset_signalvaluezero () When a SIGALRM signal arrives this function will be called in which variable will be set sig_atomic_t usr_interrupt = 0; Write a signal handler function voidIncrement_signalvalue () When a SIGINT signal arrives this function will be called in which variable will be incremented the usr_interrupt by 1. Write a main function intmain (void) Handle two Signals SIGALRM and SIGINT. Set the alarm for 10 sec Parent process will sit in tight loop by keeping check on usr_interrupt variable once this variable will be 5 parent process will print some ENDING message and will exit. Solution #include #include #include #include #include sig_atomic_t usr_interrupt = 1; void reset_signalvaluezero(int signo) { if (signo == SIGALRM) usr_interrupt = 0; } void Increment_signalvalue(int signo) { if (signo == SIGINT) usr_interrupt++; } int main(void) { if (signal(SIGINT, Increment_signalvalue) == SIG_ERR) printf(\"\ can\'t catch SIGINT\ \"); if (signal(SIGALRM, reset_signalvaluezero) == SIG_ERR) printf(\"\ can\'t catch SIGALRM\ \"); alarm(10); while(1) { if (usr_interrupt >= 5) { printf (\"Exiting...\"); return 0; } } return 0; }.