Saya mendengar banyak pembicaraan tentang Daemon yang berjalan di komputer Ubuntu saya - apakah itu?
Singkatnya, Daemon adalah proses latar belakang .
Daemon bisa saja berupa program normal yang berjalan di latar belakang, namun sebagian besar dibuat dengan memulai suatu proses, forking dan keluar dari induknya.
Memotong suatu proses berarti membuat salinan persisnya. Induk proses itu, jika induk sebenarnya langsung berakhir, sekarang adalah proses init di /sbin/init
, yang merupakan hal pertama yang dimulai pada setiap sistem operasi mirip Unix. Sekarang, proses ini disebut Daemon, tidak memiliki TTY yang terkait dengannya.
Berikut ini contoh Daemon dengan Python:
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!"
Ini belum satu, secara tegas. Anda juga harus mengubah direktori kerja saat ini, redicted input dan output standar untuk file log dan sebagainya. Anda dapat membaca detail berdarah di artikel wikipedia ini .
Jika Anda menjalankan contoh, Anda akan melihat, setelah dua detik itu mencetak, meskipun proses yang Anda mulai pada baris perintah telah dihentikan. Salinan proses ini dijalankan 'oleh' init sekarang.
/proc/*/fd
). Daemon yang berperilaku baik akan melepaskan diri sepenuhnya dari tty dengan menyerahkan pegangan ke stdout, stderr, dan stdin.Seperti yang Anda lihat lapisan Daemon
sumber