Proses daemon adalah suatu proses yang berjalan di belakang layar (Background). Banyak contoh dari proses daemon, salah satu contohnya yang tidak asing bagi kita adalah virus komputer. Virus komputer sebenarnya adalah suatu proses yang berjalan di belakang layar untuk melakukan suatu proses yang telah ditentukan oleh pembuat virus.
Untuk membuat proses daemon di Linux, kita perlu membuat suatu proses yang tidak terikat oleh parent process. Sedikit penjelasan, berbeda dengan sistem operasi Windows, Linux menggunakan konsep tree pada proses. Setiap proses yang berjalan memiliki parent process yang dapat membuat child process untuk menjalankan perintah-perintah. Jika parent process berhenti dieksekusi, maka child process juga akan berhenti. Karena daemon adalah proses yang berjalan di balik layar tanpa ada kontrol dari user, maka proses daemon tidak boleh berhenti diproses di tengah jalan.
Langkah-langkah untuk membuat proses daemon di Linux adalah:
1. Membuat parent process
2. Membuat child process dari parent process sebelumnya.
2. Membuat child process dari parent process sebelumnya.
hierarki process saat ini: terminal --> parent process --> child process
4. Hentikan parent process.
child process akan menjadi orphan process dan akan diambil alih oleh init process.
4. Hentikan parent process.
child process akan menjadi orphan process dan akan diambil alih oleh init process.
5. Ubah mode file agar file dapat ditulis dan dijalankan dengan benar.
6. Memberikan SID pada proses
dengan memiliki SID, proses akan lepas dari kontrol terminal.
7. Pindah direktori kerja ke root.
8. Tutup file descriptor stdin, stdout dan stderr.
8. Tutup file descriptor stdin, stdout dan stderr.
9. Buat looping proses yang dijalankan
Contoh source code pebuatan daemon:
Setelah langkah-langkah pembuatan proses diatas, kita bebas memberikan perintah-perintah yang akan dijalankan pada daemon tersebut. Masukkan perintah yang akan selalu dijalankan terletak di dalam looping. jangan lupa untuk compile program sebelum dijalankan.
Sekian tutorial ini, semoga bermanfaat. :)

Tidak ada komentar:
Posting Komentar