Bir örnek bulamayınca açtigim her child den sonra
pcntl_wait($status); dedikten sonra zombi oluşması kesildi ama ; bu
şekilde ana süreç her çocuğun işini bitirmesini bekleyiptemi kendi işine
devam ediyor emin olamadım.
Yaptığınız açıklama ve link için teşekkür ederim. inceleyip deneyeceğim.
Ozgur Batur yazmış:
Merhaba,
pcntl_waitpid ile kapanan childların exit statusunu almaniz lazim.
Aksi takdirde işlemini tamamlamış ama exit statusu süreç tablosunda
bulunan süreçleriniz olacaktır. Zombie süreçler bunlardır. Bitmiş
süreç sinyal beklemediği için childlara kill ile sinyal göndermeniz
işe yaramaz. Killall php ile ana süreci öldürürseniz childlarların
parent süreci init olur. Init otomatik olarak bütün childları için
waitpid yaptığı için zombiler temizlenir. Kısacası fork ettiğiniz ana
süreçte pcntl_waitpid yapın, aşağıdaki linkte örnek var:
http://www.tuxradar.com/practicalphp/16/1/3
İyi çalışmalar.
2009/8/21 Hasan Sertçelik <ha...@sertcelik.net>:
Merhabalar.
Serverda Php ile yazdığım bir programda zaman zaman zombiler oluşuyor.
Zombilerin pcntl_fork ile oluşturduğum children sürecinin soapla karşı
serverde iletişimde iken zaman zaman timeota düştüğü durumda oluştuğunu
zannediyorum ama emin değilim.
Ana süreçte aklıma gelen bir kaç metodu uyguladigim halde bu zombilere
çözüm bulamadım.
oluşan zombilere zaman zaman manuel olarak kill pid -9 ile sonlanmasına
ragmen bazen sadece killall php ile sonlandirabiliyorum.
Bu Zombileirn oluşmasını nasil engelleyebilirim veya engelleyemezsem ana
süreçte zombinin olustuğunu nasıl tesbit edip ana süreçin bunu
kapatmasini saglayabilirim?
Teşekkürler.
Hasan
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama