Sunday, October 18, 2015

Daemon of Folder

Daemon dan Folder

Dalam kehidupan sehari-hari. Kita sering meletakkan sebuah file secara berantahkan entah apa alasannya, sibuk, ada urusan lain, habis download malas memindahkan dan alasan lainnya. Nah bagaimana jika kita membuat sebuah cara agar hal itu dapat teratasi? susun manual? atau mau susun otomatis?

Nah bagaimana jika kita membuat cara agar hal itu (susun otomatis) dapat terlaksana? Disini saya akan menjelaskan bagaimana pembuatan daemon awal yang akan membantu dalam memecahkannya. 

Mungkin ada yang belum mengenal daemon sebelumnya atau mungkin mengenal daemon yang lain. Daemon bukan istilah yang asing lagi bagi orang-orang yang sering menginstall software. Yah, yang terdengar familiar adalah daemon tools, namun yang saya bicarakan disini berbeda dengan daemon tools. Daemon disini adalah proses yang berjalan di balik layar (background) dan tidak berinteraksi langsung dengan user melalui standard input/output.  

Ada 6 proses pembuatan Daemon :

1. Fork Parent Processs dan penghentian Parent Process
2. Mengubah mode file menggunakan UMASK(0);
3. Membuat Unique Session ID (SID)
4. Mengubah Directory Kerja
5. Menutup File Descriptor Standar
6. Membuat Loop utama (inti kerja dari daemon)

Di sini saya akan memberikan contoh dengan implementasi menggunakan linux mint, dan bahasa c. Dimana file c tersebut akan diterapkan ke daemonnya.

Kurang lebih hasil langkah-langkah diatas akan menjadi seperti ini:


















Gambar diatas merupakan isi dari fungsi utama main(int main(void)) setelah hasil dari langkah-langkah tersebut. Dan tambahkan library yang digunakan pada bagian atas program:























Setelah selesai, pada bagian akhir program yang kita buat ada bagian:

while(1)
{

}

While tersebut diisi dengan apa yang akan daemon kita lakukan. Dalam kasus ini kita ingin merapikan isi dari sebuah folder. Untuk melakukan hal itu saya akan memberi contoh jika kasusnya:

"Kita ingin membuat folder khusus untuk format .doc dan selain doc dipindahkan ke tempat lain bilamana ada yang salah masuk".

Untuk melakukan hal tersebut kita membutuhkan sebuah command yang kita terapkan pada bahasa c dan itu mungkin dilakukan, maka beginilah contoh yang kita terapkan pada bahasa c dan diletakkan di while(1) pada bagian bawah template yang telah dibuat sebelumnya

system("mkdir word;");
system("cd direktori_folder_word\nfind . -type f ! -name '*.doc' -exec mv {}direktori_file_selain doc \\;");

Diatas kita dapat melihat beberapa hal asing yang tidak kita temukan di pemrograman c sebelumnya. 

Setelah kita melakukan hal tersebut simpan file c nya dan buka terminal.

ketikkan gcc -o namafile namafilec 

setelah itu ketik ./namafile dan enter. Jika kita membuat ps aux pada terminal seharusnya proses daemon telah berjalan. Untuk mengetesnya lihat direktori dimana pembuatan folder khusus tadi dan kemudian coba masukkan file .doc dan sebagainya. Jika file .doc tetap tinggal dan file format lainnya telah berpindah maka pembuatan daemon telah berhasil.....

Nah sekian penjelasannya, semoga dapat membantu....