alarm(seconds)
), which sends SIGALRM to the calling process after the specified time interval.
The program alarmtest.c
calls alarm(), then enters an infinite loop. A correct implementation of alarm()
kills the process after the specified number of seconds.
signal()
system call can be used to change the "disposition" of a signal, i.e. how the signal is handled when received. In this step, you need to support only SIG_DFL (=0, default), and SIG_IGN (=1, ignore). The template already has built-in handling for SIG_DFL (kill the process), so you need only support the configuration, and "handle" signals with a SIG_IGN disposition.
Test your implementation using alarmtest2.c
.
alarmtest3.c
.
fgproc()
, and modify sh.c to use it to track the foreground process. Whenever CTRL-C is pressed, send SIGINT to the foreground process.
Test your implementation with helloloop.c
or any other program that continues running. Copyright 2016 The Board of Trustees of the University of Illinois.webmaster@cs.uic.edu |
WISEST Helping Women Faculty Advance Funded by NSF | ![]() | ![]() |