Sabtu, 08 November 2014

DAEMON PROCESS IN C



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 , pembuatan proses baru gagal

·         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... \(^^)/