#include <signal.h>
/* Bir durdurma sinyali geldiğinde, eylemi önce öntanımlı eyleme
ayarlayalım, temizliği yaptıktan sonra da sinyali yeniden
gönderelim. */
void
tstp_handler (int sig)
{
signal (SIGTSTP, SIG_DFL);
/* Temizlik işlemleri */
...
raise (SIGTSTP);
}
/* Süreç çalışmaya kaldığı yerden devam edeceği zaman
sinyal eylemciyi yeniden kuralım. */
void
cont_handler (int sig)
{
signal (SIGCONT, cont_handler);
signal (SIGTSTP, tstp_handler);
}
/* Her iki eylemciyi de yazılım başlatıldığında etkinleştirelim. */
int
main (void)
{
signal (SIGCONT, cont_handler);
signal (SIGTSTP, tstp_handler);
...
}