SORU
21 EKİM 2008, Salı


Kesintisiz bir süreç nedir?

Bazen zaman yazdığım bir program Linux ve çöküyor bir hata yüzünden bir çeşit, dönecek bir kesintisiz süreç ve devam çalıştıran sonsuza kadar yeniden başlatın Bilgisayarım (bile log out). Benim sorular şunlardır:

  • Süreci kesintisiz hale gelmesine ne sebep olur?
  • Nasıl buna engel olabilirim?
  • Bu belki aptalca bir soru ama benim bilgisayar yeniden başlatmadan bunu kesmenin bir yolu var mı?

CEVAP
21 EKİM 2008, Salı


Kesintisiz bir süreç bir sinyal tarafından kesildi edilemez bir sistem çağrısı (çekirdek fonksiyonu) olan bir süreçtir.

Bunun ne anlama geldiğini anlamak için, fasılalı sistem çağrısı kavramını anlamak gerekir. Klasik örnek okunur. (). Bu büyük olasılıkla bir sabit disk, dönen veya hareketli kafa karıştırmak için uzun bir süre (saniye) sistem çağrısı. Bu süre boyunca, süreç, donanım engelleme uyuyor olacak.

Sürecin sistem çağrısı uyurken, unix zaman uyumsuz bir sinyal () SIGTERM alabilir, o zaman şu olur:

  • Sistem zamanından önce çıkış aramaları ve iade-EİNTR kullanıcı için ayarlanır.
  • Sinyal işleyici yürütülür.
  • Eğer işlem hala çalışıyorsa, sistem çağrısından dönen değer alır ve aynı aramayı yeniden olabilir.

Erken sistem çağrısından dönen sağlar hemen sinyalle kendi davranışlarını değiştirmek için Kullanıcı alan kodu. Örneğin, temiz bir şekilde tepki SIGINT SIGTERM veya sonlandırma.

Öte yandan, bazı sistem çağrıları bu şekilde kesilmesine izin verilmez. Eğer sistem nedense tezgahları ararsa, bu süreç sonsuza kadar bu öldürülemez durumda kalır.

LWN Temmuz ayında bu konu dokunan bir nice article koştu.

Asıl soruya cevap vereyim

  • Nasıl bunu önlemek için: eğer sorun neden olduğunu anlamaya, ve kullanarak durdurmak veya çekirdek bir hacker ve Düzelt.

  • Yeniden başlatmadan kesintisiz bir süreci öldürmek için nasıl: bir şekilde sonlandırmak sistem çağrısı. Sık sık en etkili şekilde güç düğmesine basmak olmadan bunu yapmak için güç kablosunu çekin. Ayrıca çekirdek bir hacker olmak ve sürücü LWN makalesinde açıklandığı gibi TASK_KİLLABLE, yararlanabilirler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010
  • sinumatic

    sinumatic

    19 Aralık 2006