Ubuntu bilgisayarımda çalışan Daemons hakkında çok fazla konuşma duyuyorum - bunlar nedir?
Ubuntu bilgisayarımda çalışan Daemons hakkında çok fazla konuşma duyuyorum - bunlar nedir?
Yanıtlar:
Kısacası, bir Daemon arka plan işlemidir .
Arka plan programları sadece arka planda çalışan normal programlar olabilir, ancak birçoğu bir işlem başlatılarak, çatallanarak ve ebeveynden çıkılarak oluşturulur.
Bir işlemi çatallamak, tam bir kopyasını oluşturmak anlamına gelir. Bu sürecin üst öğesi , gerçek üst öğe hemen sonlandırılırsa, şu andaki init işlemidir /sbin/init
; bu, her Unix benzeri işletim sisteminde ilk başlatılan şeydir. Şimdi, süreç Daemon olarak adlandırılır, onunla ilişkili TTY yoktur.
Python'da bir Daemon örneği:
import sys, os, time
pid = os.fork()
# there now exist two processes
if pid > 0: # If this is the parent,
sys.exit(0) # quit.
# this is the background part:
time.sleep(5)
print "Hello, World!"
Henüz bir tane değil, kesinlikle. Ayrıca geçerli çalışma dizinini, yeniden girilen standart girdi ve çıktıları günlük dosyalarına dönüştürmeniz gerekir. Bu wikipedia makalesinde kanlı detayları okuyabilirsiniz .
Örneği çalıştırırsanız, komut satırında başlattığınız işlem sona ermiş olsa bile iki saniye sonra yazdırıldığını fark edeceksiniz. Bu işlemin kopyası 'in' init tarafından çalıştırıldı.
/proc/*/fd
). İyi davranmış bir daemon, stdout, stderr ve stdin için tutamaçlardan vazgeçerek kendini tamamen tty'den ayıracaktır.
Çok görevli bilgisayar işletim sistemlerinde, arka plan programı, etkileşimli bir kullanıcının doğrudan denetimi altında olmak yerine, arka plan işlemi olarak çalışan bir bilgisayar programıdır. Geleneksel olarak, bir arka plan programının işlem adları, sürecin aslında bir arka plan programı olduğunu ve bir arka plan programı ile normal bir bilgisayar programı arasındaki ayrım için d harfiyle biter. Örneğin, syslogd, sistem günlüğü oluşturma özelliğini uygulayan arka plan programıdır ve sshd, gelen SSH bağlantılarına hizmet eden bir arka plan programıdır.
Gördüğünüz gibi Daemon'un katmanı