C’de ctrl-c komutunu devre dışı bırakmak

Amaç: Konsolda çalışmakta olan bir program normalde ctrl-c’ye basıldığında kapanmaktadır. Öyle bir program tasarlansın isteniyor ki, ctrl-c’ye basıldığında kapatılamasın ve ctrl-\’ye basıldığında uyarı vererek kapansın.

#include
#include
void sigproc(void);

void quitproc(void);

main()
{ signal(SIGINT, sigproc);
signal(SIGQUIT, quitproc);
printf("ctrl-c disabled use ctrl-\\ to quit\n");
for(;;); /* infinite loop */}

void sigproc()
{ signal(SIGINT, sigproc); /* */
/* NOTE some versions of UNIX will reset signal to default
after each call. So for portability reset signal each time */

printf("you have pressed ctrl-c \n");
}

void quitproc()
{ printf("ctrl-\\ pressed to quit\n");
exit(0); /* normal exit status */
}

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s