#include "csapp.h"/* Write the wrapper function of sleep, snooze function, returns how much time a process actually sleeps */unsigned int snooze (unsigned int secs)//secs for total sleep time { unsigned int timeLeft; unsigned int timeall=secs; Timeleft=sleep (Timeall); printf ("Slept for%u of%u secs \ n", Timeall-timeleft,timeall); return timeLeft;} void handler (int sig) {return;//end process and return return value of process}int main (int Argc,char *argv[]) {if (signal (Sigint,handler) ==sig_err) printf ("Signal error"); if (argv[1]==null) {printf ("need to specify parameters, that is, the length of time to sleep \ n"); Exit (0); } (void) snooze (atoi (argv[1])); Atoi is used to convert a string into integer data exit (0);}
When the program executes, hold down CTRL + C to interrupt the process, and return the value as shown below
Slept for 2 of 4 secs
Process interrupt and signal processing function in C language