Daha önce veya daha az önce bu soruyu yığma akışında sordum ve çözüleceğine inandım (dolayısıyla cevabı kabul etti), ancak sonuçta çözülmediği ortaya çıktı. :-(
Basit bir ifadeyle, sadece sürekli olarak stdout'a metin çıkaran bir python betiği yazdım. Onu bu xinetd dosyasına bağladım
servis hizmetleri { örnekler = 1 port = 887 socket_type = akış type = UNLISTED bekle = hayır kullanıcı = kimse server = /usr/local/bin/myscript.py only_from = 127.0.0.1 192.168.1.2 devre dışı bırak = hayır max_load = 5.0 güzel = 5 per_source = 1 }
Bu, bir müşteri bağlandığında olduğu kadar iyi çalışır ve konsolunda metin yaymaya başlar. Sorun, istemci bağlantının koptuğunda, başlatılan işlem bağlantı noktasını engelleyerek açık kalır. İzin verilen yalnızca bir istemci var (örnek = 1), ancak bu durum istemci bağlıyken yeniden başlatıldığında ortaya çıkabilir.
Daha önce bunun python betiğinin öldürme sinyallerini (olduğu gibi) görmezden geldiği için olduğunu düşünmüştüm, ancak bu sabitle aynı davranış gözlendi. Netleştirmek için, -1 öldür vb. Mutlu bir şekilde python betiği tarafından gözlemlenir.
Bunun bir xinetd sorunu olduğunu ve düzeltilmesi oldukça basit olduğunu düşünüyorum.