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 <[email protected]>: > 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 > [email protected] > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > -- H Özgür Batur _______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
