Tutorial : Membuat Proses Daemon di Linux

   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.
    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.
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.
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. :)

Shell Progamming : Pengenalan Bash dan Contoh Sederhananya

     Bash adalah bahasa pemrograman yang biasa dipakai di sistem operasi linux. Perintah perintah pada Bash bisa langsung kita pakai di "terminal" (mirip "Command Prompt" pada sistem operasi windows) atau ditulis dahulu di sebuah file dengan format *.sh.

Bash memiliki perintah-perintah yang cukup banyak dan bervariasi. beberapa diantaranya adalah :
 ls        : melihat isi dari direktori tempat kita berada
 pwd    : melihat lokasi direktori tempat kita berada
 mkdir : membuat direktori baru
 cd       : memindah lokasi direktori saat ini
 touch  : membuat file baru
 nano   : membuka dan mengedit isi dari suatu file
dan masih banyak lagi perintah-perintah lainnya.

     Seperti bahasa pemrograman lainnya, bash juga memiliki perintah untuk percabangan dan perulangan. percabangan digunakan untuk melaksanakan perintah jika memenuhi syarat yang ditentukan, sedangkan perulangan digunakan untuk melakukan pengulangan perintah dalam jumlah yang ditentukan atau sampai memenuhi suatu ketentuan. Untuk melakukan percabangan, kita bisa menggunakan perintah if, dan untuk melakukan perulangan, kita bisa menggunakan perintah for.

     Disni saya akan memberikan contoh untuk membuat suatu script yang menampilkan bilangan prima.

     pertama, kita perlu membuat file terlebih dahulu, dan kita letakkan di desktop. untuk melakukan itu, kita ubah direktori kita terlebih dahulu dengan mengetikkan "cd Desktop". Setelah direktori berpindah ke desktop, kita buat file dengan perintah "touch [NAMA FILE].sh".

 
     selanjutnya kita langsung buka file tersebut dengan memasukkan perintah "nano [NAMA FILE].sh". setelah file terbuka, kita bisa mengisi file tersebut dengan perintah-perintah sesuai dengan yang kita inginkan. ini adalah contoh yang saya buat untuk mencetak bilangan prima:

 
 bingung dengan isinya? saya akan menjelaskan sedikit tentang script saya.
     dalam bash, kita tidak perlu mendeklarasikan tipe data pada setiap variabel. Untuk membaca input, kita bisa menggunakan perintah :
"read [NAMA VARIABEL]" atau "$[ANGKA]"
Angka pada perintah "$" digunakan untuk menunjukkan urutan input, misal "$1" membaca input pertama, "$2" membaca input kedua, dan seterusnya.
 
     Untuk melakukan perulangan, kita bisa menggunakan perintah for dengan format penulisan:
"for [VARIABEL] in `seq [AWAL] [AKHIR]`;"
dimana nilai dari [VARIABEL] akan berubah dari [AWAL] sampai [AKHIR] dengan bertambah 1 setiap sekali perulangan. perintah yang diulang berada diantara "do" dan "done". Ada banyak cara menulis format pengulangan, contohnya penulisan "`seq [AWAL] [AKHIR]`" bisa diganti dengan "{[AWAL]..[AKHIR]}", dan banyak format lain yang memiliki perulangan khusus.
 
     Untuk percabangan, kita bisa menggunakan perintah if dengan format:
"if [ [SYARAT] ]; then [TRUE] else [FALSE] fi"
Dimana [SYARAT] merupakan syarat percabangan, [TRUE] adalah perintah yang dijalankan jika syarat terpenuhi, dan [FALSE] adalah perintah yang dijalankan jika syarat tidak memenuhi. Jika kita tidak ingin memasukkan perintah yang dijalankan saat syarat tidak terpenuhi, kita tidak perlu memasukkan "else" dan cukup dengan memasukkan perintah
"if [ [SYARAT] ]; then [TRUE] fi".
 
     Banyak cara menuliskan operasi matematika, dalam contoh saya menggunakan kurung 2x. untuk perbandingan, kita menggunakan perintah:
-lt : kurang dari
-gt : lebih dari
-le : kurang dari/sama dengan
-ge : lebih dari/sama dengan
-eq : sama dengan
-ne : tidak sama dengan
 
     Perintah "echo" berfungsi untuk mencetak, baik itu suatu nilai variabel, hasil dari suatu perintah, ataupun sesuatu yang kita tulis sendiri. "echo" memiliki beberapa format, dalam contoh saya menggunakan "-n" untuk mencegah berpindah baris setelah mencetak, ataupun perintah "echo" yang tidak diiringi dengan apapun yang berfungsi untuk berpindah baris.
 
     Setelah script selesai ditulis, simpan script tersebut dengan menekan tombol CTRL+O dan tekan tombol CTRL+X untuk menutup file dan kembali ke terminal.
 
     Sekarang mari kita coba script yang kita buat dengan menjalankan script tersebut. untuk menjalankan script kita masukkan perintah "./[NAMA FILE].sh [INPUT]". Tapi sebelum menjalankannya, kita perlu memberi izin untuk mengeksekusi file tersebut, karena secara default file yang dibuat hanya diberi izin untuk membaca dan menulis. untuk memberi izin mengeksekusi, kita masukkan perintah "chmod +x [NAMA FILE].sh".

 
setelah izin didapatkan, program dapat dijalankan.

 
Sekian pengenalan bash yang dapat saya bagikan. selamat mencoba! :)