Saya mendengar banyak pembicaraan tentang Daemon yang berjalan di komputer Ubuntu saya - apakah itu?
Saya mendengar banyak pembicaraan tentang Daemon yang berjalan di komputer Ubuntu saya - apakah itu?
Jawaban:
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.
Dalam sistem operasi komputer multitasking, daemon adalah program komputer yang berjalan sebagai proses latar belakang, alih-alih berada di bawah kendali langsung pengguna interaktif. Secara tradisional, nama proses daemon diakhiri dengan huruf d, untuk klarifikasi bahwa proses tersebut, pada kenyataannya, adalah daemon, dan untuk diferensiasi antara daemon dan program komputer normal. Sebagai contoh, syslogd adalah daemon yang mengimplementasikan fasilitas sistem logging, dan sshd adalah daemon yang melayani koneksi SSH yang masuk.
Seperti yang Anda lihat lapisan Daemon