4 Aralık 2018 Salı

SIGINT (Ctrl+C) (2)

Giriş
SIGINT controlling terminal (yani shell) tarafından gönderilir. Kullanıcı Ctrl+C tuşuna basarsa tty sürücüsü bunu yakalar ve shell'i haberdar eder. Shell de kendisine bağlı olarak çalışan ön plandaki (foreground) uygulamayı haberdar eder.

Bu sinyali yakalayan kod yazarsak göz ardı edilebilir ancak bu kodu yazmazsak uygulamamız sonrlanır. Açıklaması şöyle.
If you don't handle the SIGINT signal, the default action is to terminate the process (unconditionally).
- Windows'ta Linux'taki gibi sinyaller yok. Ancak Ctrl+C console uygulamaları için aynı şekilde çalışıyor. Console Metodları başlıklı yazıya bakabilirsiniz.
Why Linux always output “^C” upon pressing of Ctrl+C? sorusuna göz atmakta fayda var.

signal metodu yazısına bakabilirsiniz
sigaction metodu yazısına bakabilirsiniz

Hiç yorum yok:

Yorum Gönder