Daemon proses adalah background
proses yang didesain agar bisa menjalankan suatu program secara otomatis,
karena pengguna tidak harus mengkompile di terminal pengontrol, sehingga daemon
proses tidak boleh memiliki komunikasi secara langsung dengan user melalui
terminal. Jadi, kita tidak usah susah-susah mengcompile, secara otomatis akan
berjalan sendiri tergantung kepada set waktu kita. Misal kita akan membuat
program membuka file dan menulis file tersebut secara otomatis. Keren sekali
kan daemon ini ^^
Ayoo..saatnya kita membuat proses
daemon dengan 5 langkah mudah...
1.
Mematikan proses induk
Pertama-tama, kita buat fork proses new child. Jika pada proses ini gagal
maka nilai pid negative atau yang kurang dari 0 dikembalikan, maka mengarah ke
EXIT_FAILURE.
Untuk diingat, nilai variabel pada pid :
·
pid = 0 , untuk eksekusi proses child
·
pid > 0, untuk eksekusi proses parent
2.
Mengubah mode file mask
Pembuatan proses daemon harus bisa membuka, membaca, dan menulis file
apapun dimana saja. Maka dengan mengubah
mode umask() menjadi umask(0), kita akan memberikan semua hak file proses
daemon melalui panggilan umask.
3.
Membuat session id (SID) baru
Pada panggilan ini mengembalikan sebuah session id unik yang bernilai negative.
Dengan panggilan ini, proses daemon tidak lagi childproses, tetapi sebagai
leader proses. Tetapi jika tidak mendapat sid yang unik maka child proses akan
menjadi yatim piatu dalam system.
4.
Tutup file descriptor standar
Proses daemon tidak melibatkan interaksi pengguna, sehingga sangat
dianjurkan untuk secara eksplisit menutup descriptor file standar yaitu stdin,
stdout, dan stderr.
5.
Masukkan kode untuk daemon
Kita
perlu memasukan kode program apa yang kita butuhkan untuk proses daemon lakukan
di latar belakang. Pada kode program diatas adalah contoh program membuka file
dan menulis ke dalam file keluaran nilai ‘i’ setelah setiap 5 detik dan akan
terus berlanjut sampai 30 detik. Kemudian akan berakhir diam-diam dan menutup
file.
Semoga bermanfaat dan dapat menambah pengetahuan tentang proses daemon ^^
Thank youuu... \(^^)/
Tidak ada komentar:
Posting Komentar