Štatistiky signálov =================== Napíšte program, ktorý bude odchytávať všetky podporované signály (po číslo 31). Obslužná funkcia bude počítať, koľkokrát bol každý signál odchytený. Vypíše pritom správu v tvare "Caught %s (signal number %d)\n" s číslom signálu, prípadne "Caught unknown (signal number %d)\n" ak pôjde o nepodporovaný signál. Jednotlivé signály môžu byť procesu doručené aj opakovane. Po príchode signálu SIGTERM (15) proces vypíše hlásenie v tvare "Finished. Signal statistics follows:\n" a potom budú nasledovať počty pre každý signál, koľkokrát bol zachytený, v tvare "Signal %s\tcount: %3d\n" s názvom signálu a celkovým počtom výskytov. Samotný program nebude robiť nič, len čakať v nekonečnej slučke. Po spustení napíše text "Starting catcher\n". Môžte použiť predloženú kostru. Na výpis môžte používať bežné funkcie aj v obsluhe signálov. Príklad výstupu: Starting catcher Caught SIGINT (signal number 2) Caught SIGQUIT (signal number 3) Caught SIGQUIT (signal number 3) Caught SIGFPE (signal number 8) Caught SIGSEGV (signal number 11) Caught SIGQUIT (signal number 3) Caught SIGTERM (signal number 15) Finished. Signal statistics follows: Signal SIGHUP count: 0 Signal SIGINT count: 1 Signal SIGQUIT count: 3 Signal SIGILL count: 0 Signal SIGTRAP count: 0 Signal SIGABRT count: 0 Signal SIGBUS count: 0 Signal SIGFPE count: 1 Signal SIGKILL count: 0 Signal SIGUSR1 count: 0 Signal SIGSEGV count: 1 Signal SIGUSR2 count: 0 Signal SIGPIPE count: 0 Signal SIGALRM count: 0 Signal SIGTERM count: 1 Signal SIGSTKFLT count: 0 Signal SIGCHLD count: 0 Signal SIGCONT count: 0 Signal SIGSTOP count: 0 Signal SIGTSTP count: 0 Signal SIGTTIN count: 0 Signal SIGTTOU count: 0 Signal SIGURG count: 0 Signal SIGXCPU count: 0 Signal SIGXFSZ count: 0 Signal SIGVTALRM count: 0 Signal SIGPROF count: 0 Signal SIGWINCH count: 0 Signal SIGIO count: 0 Signal SIGPWR count: 0 Signal SIGSYS count: 0