Zombi süreci veya iş parçacığı nedir?


11

Zombi süreci ya da iş parçacığı nedir ve bunları yaratan nedir? Onları öldürüyor muyum yoksa nasıl öldükleri hakkında teşhis almak için bir şeyler yapabilir miyim?


13
başlarını kestin. Ya da onları yakıyorsun. Tek yol bu.
Simon Bergot

"Onları yen ya da yak onları, onlar oldukça kolay gidiyor" ...
TMN

Yanıtlar:


17

Zombi süreci ya da iş parçacığı nedir ve bunları yaratan nedir?

Bir zombi süreci ölü bir süreçtir.
İşletim sistemi sadece bilgileri saklıyor, böylece ebeveyn daha sonraki bir noktada işlemlerin çıkış kodunu kontrol edebilir, böylece işletim sistemi onlar hakkında bilgi tutar ve böylece süreçlere bakarken ortaya çıkar.

Sadece öldürüyor muyum,

Hayýr. Zaten öldüler.
Üst öğe öldüğünde veya durum kodunu işletim sisteminden aldığında işletim sistemi temizlenir.

ya da nasıl öldükleri hakkında teşhis almak için bir şeyler yapabilir miyim?

Hayır. Ebeveyn kabuğu koyamaz, ancak koyamaz.


4

Bir zombi iş parçacığı, yürütülmesini sonlandırmış ancak temiz bir şekilde sonlandırılmamış bir iş parçacığıdır. İş parçacığı tarafından kullanılan kaynakları dağıtır, ancak iş parçacığı / işlem tablosunda bir girdi tutar.

Teorik olarak, zombi iş parçacığı bir _join (POSIX) yürüterek bu durumdan çıkar. Bu, ana sisteminiz bittiğinde, programla zombi sürecinin öldürüleceği anlamına gelir.


2

Zombi işlemi, hem yürütülmesini sonlandırmış hem de zamanlanmış işlemler listesinden kaldırılmış , ancak henüz silinmemiş bir işlemdir . İşletim sistemine bağlı olarak, kendisine atanmış çeşitli kaynaklar olabilir veya olmayabilir ve sorgulanabilir, ancak çalışmaz.

Bazı işletim sistemlerinin (tasarım gereği) belirli bir olay noktasının ötesinde kaynakları dinamik olarak oluşturmasına veya silmesine izin verilmez (örneğin VxWorks Cert). Bu tür sistemler genellikle öğeleri aldıkları, iade ettikleri ve yeniden kullandıkları önceden tahsis edilmiş kaynak havuzlarını kullanarak bu sınırlama etrafında çalışırlar. Ancak, böyle bir sistemdeki bir işlem sona erdiğinde, silinemez ve bunun yerine zombileştirilir (sonlandırma ve zamanlama listesinden çıkarılır).

Bu yardımcı olur umarım.


0

İş parçacığı / işlem öldürüldüğünde, ancak ilgili tabloda hala bir kayıt varsa, bu bir zombi haline gelir.

Bu, örneğin bir üst süreç bir alt süreç oluşturduğunda, ancak alt öğeden önce sonlandığında gerçekleşebilir. Alt süreç sona erdiğinde, ebeveynine sonlandırma hakkında bilgi verir. Daha sonra alt sürecin kaydı ilgili tablodan kaldırılır. Ancak üst öğesi zaten sonlandırıldı, bu nedenle kayıt hala tabloda kalıyor.

Zombilerden kurtulmanın bir yolu yok ama


1
Yeniden başlatma gerekli değildir. Sadece ana işlemi öldürün ve zombiler sistem tarafından otomatik olarak temizlenecektir.
Kevin Panko
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.