Zombi Süreci Nedir?

Bir zombi işlemi, çalışmayı bitirmesine rağmen bir işlem tablosu kaydını tutan bir bilgisayar programı örneğidir. Bunun gibi feshedilmiş süreçler, tipik olarak alt süreçleri ele almaları nedeniyle Unix® ve diğer benzer işletim sistemleriyle ilişkilendirilir. Bir alt sürecin yürütülmesi bittiğinde, ebeveyn genellikle onu işlem tablosundan çıkarmaktan sorumludur. Operatör sinyal çocuk (SIGCHLD) bildirimini kullanıyorsa, ebeveyn genellikle bunu kaldırmak için yapılabilse de, kill komutuyla bir zombi işlemini doğrudan kaldırmak genellikle mümkün değildir. Bunu başaramazsa, bir zombi işlemi, ebeveyni öldürerek dolaylı olarak kaldırılabilir.

Zombi süreci, yaşayan ölülere gönderme yapan mecazi bir betimleyici terimdir. Unix® ve benzeri işletim sistemlerindeki feshedilmiş süreçler, amaçlanan işlevlerini yerine getirmese de, süreç tablosunun varlığını korudukları için zombilere benzer olarak görülebilir. Bir işlemin yürütülmesi bittiğinde, bazen öldüğü söylenirken, işletim sisteminin işlem masası tahsisini kurtardığı araç, hasat etme olarak bilinen olabilir. Bir zombinin ana sürecinin teknik olarak çocuklarını toplaması beklenir, ancak bu her zaman gerçekleşmez.

Bir zombi sürecinin varlığının kasıtlı ve hatta istenebileceği bazı durumlar vardır. Bir alt işlem yürütmeyi durdurduktan sonra ebeveynin aynı programın başka bir örneğini daha sonra çalıştırması gerekebilir. Bir zombi işlem tablosundan çıkarılmadıysa, yeni çocuğa yaşlı çocukla aynı kimlik (ID) atanmayacaktır. Bazı programlar bu tür bir farklılaşmadan yararlanabilir veya hatta bunu gerektirebilir.

Bir ana işlem sorumlu olduğu zombileri toplamak için wait komutunu uygulamazsa, sorunu zorlamak mümkün olabilir. Bu genellikle kill komutu ile yapılır ve SIGCHLD sinyalini üst işleme gönderir. Her şey düzgün çalışıyorsa, bu sinyali alan bir üst işlem, zombi çocuklarını almalı, böylece kimliklerinin ve işlem masası konumlarının yeniden kullanılabilmesi gerekir.

Belirli koşullar altında bir ana işlem SIGCHLD sinyalini görmezden gelebilir. Bu meydana gelirse ve operatör hala işlem masasının temizlenmesini istiyorsa, ana işlem öldürülebilir. Ana sürecin oluşturduğu zombiler daha sonra init sürecine çocuk olarak atanır. İnit periyodik olarak çocuklarına bekleme komutunu başlattığından, sorumlu olduğu zombiler sonunda süreç tablosundan çıkarılır.

DİĞER DİLLER

Bu makale size yardımcı oldu mu? Geri dönüşünüz için teşekkür ederiz Geri dönüşünüz için teşekkür ederiz

Nasıl yardımcı olabiliriz? Nasıl yardımcı olabiliriz?