Yanıtlar:
Yaptığı şey tamamen uygulamaya özeldir. ctrl+ Düğmesine bastığınızda c, terminal emülatörü ön plan uygulamasına uygun "sinyal işleyiciyi" tetikleyen bir SIGINT sinyali gönderir . SIGINT için varsayılan sinyal işleyicisi uygulamayı sonlandırır. Ancak herhangi bir program SIGINT için kendi sinyal işlemcisini kurabilir (yürütmeyi hiç durmayan bir sinyal işlemcisi dahil).
Görünüşe göre, vlc , ilk başlatıldığında bazı temizleme / zarif sonlandırma yapmaya çalışan bir sinyal işleyici yükler ve ikinci kez başlatıldığında anında sonlandırma işleminin varsayılan davranışına geri döner.
SIGINT , Ctrl+ tarafından gönderilen sinyal C, geleneksel olarak bir programa ana komut işleme döngüsünden çıkmasını ya da mantıklı değilse, temiz bir şekilde çıkmasını söyler. Bazı programlar SIGINT aldıklarında temizleme prosedürü uygular. Program bu kadar karışıksa, temizleme prosedürü başarısız olur, bazı programlarda, ikinci bir Ctrl+ Cprogramın hemen kapanmasına neden olur. Bunu yapmak her program yazara kalmıştır.
İkinci ise Ctrl+ Cprogramı öldürmek değil, denemek Ctrl+ \gönderdiği, SIGQUIT sinyalini , daha şiddetli (ama yine de catchable sinyali) veya denemek Ctrl+ Ziçin askıya programı ve daha sonra kill
örneğin (komut kill %1
gönderdiği SIGTERM , bir geleneksel az şiddetli sinyali SIGQUIT’ten, 1 numaralı işe Diğerleri başarısız olursa, kill -KILL
aynı zamanda, bilinmeyen olarak SIGKILLkill -9
sinyalini göndererek programı öldür .