SORU
23 Ocak 2009, Cuma


Nasıl Python programı oluşturmak mı?

Searching on Google x2 kod parçacıklarını ortaya çıkarır. İlk sonucu bazı yararlı tartışma altında pek çok döküman var this code recipe ve birlikte açıklama.

Ancak, another code sample, buna rağmen çok belgeleri içermeyen, başlatmak, durdurmak ve yeniden başlatmak gibi geçen komutları için örnek kod içerir. Ayrıca eğer daemon zaten vb çalışıyorsa kontrol etmek için kullanışlı olabilir PİD dosyası oluşturur.

Bu iki programı oluşturmak için nasıl açıklar örnekleri. Dikkate alınması gereken ek bir şey var mı? Bir örnek diğerinden daha iyi olduğunu, ve neden?

CEVAP
27 Mart 2009, Cuma


Vardırçok can sıkıcı şeyleralmak well-behaved daemon process Bir olma, dikkat:

  • çekirdek döker (birçok cinleri root olarak çalıştırın ve çekirdek döker hassas bilgileri içerebilir) önlemek

  • doğru chroot Hapishanesi içinde davranır

  • UID, GID, çalışma dizini, umask, ve diğer işlem parametreleri uygun şekilde kullanma durumu

  • yükseltilmiş*, sgid *1 ayrıcalıkları vazgeçmek

  • kapat tüm açık tanıtıcı, istisnalar kullanma durumu bağlı dosya

  • eğer içinde zaten ikiz bağlam, init, inetd, vs. gibi bir başladı, düzgün davranır.

  • belirli işleyicileri kullanmak durumunda belirlenen mantıklı daemon davranışları için değil, aynı zamanda işleyicileri sinyali ayarlamak

  • yönlendirme standart akışları stdin, stdout, stderr daemon beri süreci artık kontrol terminali vardır

  • davranmaya çelişkili ama geçerli bir çok yolu ile kendisini daha da karmaşık hale olan kooperatif danışma kilit, PİD dosyası işlemek

  • işlemi sonlandırılır uygun bir temizleme sağlar

  • aslında zombi yol açmadan, bir artalan süreci haline gelir

Bunlardan bazılarıstandartstandart Unıx ve Edebiyatı açıklandığı gibi, (UNIX Ortamında gelişmiş Programlama, W. Richard Stevens, Addison-Wesley, 1992). Diğerleri, akışı yeniden yönlendirme gibi ve PID file handlinggeleneksel bir davranışen daemon kullanıcılar ama bu daha standart hale getirilmiştir beklenebilir.

Tüm bunlar ile kaplıdırPEP 3143 “Standart daemon süreci kütüphane” şartname. python-daemon referans uygulaması Python 2.7 veya üstü çalışır, ve 3.2 veya daha sonra Python.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • Attempts at least

    Attempts at

    1 Ocak 2007