Halo para blogger
sekalian, balik lagi nih sama nay. Ya langsung aja di apdetan nay
yang kedua ini nay sebagai mahasiswa teknik informatika semester 3
biasa ini akan kembali menceritakan sedikit kupasan mengenai sistem
operasi. Yeay!!
oke bahasan kali
ini adalah mengenai Proses dan Daemon. Apasih proses itu? Proses
adalah keadaan dimana sebuah program sedang dieksekusi. Proses dibuat
melalui system call dreate-process yang membentuk child process atau
proses anak. Ada beberapa jenis proses yang akan kita sering denger
di sistem operasi ini contohnya child process, parent process, zombie
process, orphan process. Nah selanjutnya Daemon adalah sebuah proses
yang bekerja di latar belakang atau di background karena proses ini
tidak memiliki terminal pengontrol. Daemon biasanya bekerja dalam
jangka waktu yang cukup lama dan bertugas menerima request dan
menjalankan responnya.
Ada beberapa cara
nih untuk membuat daemon. Yang pertama adalah dengan forking dan
pembunuhan proses induk, yang harus kita lakukan adalah memspawn
proses menjadi parent dan child dengan melakukan forking, kemudian
membunuh parent process.
Cara yang kedua
adalah membuat proses bekerja secara independen nah cara ini bisa
dilakukan dengan memanggil fungsi setsid(), ini digunakan agar proses
bisa mendapatkan session ID yang baru.
Cara yang ketiga
itu dengan menutup standar I/O deskriptor yang diwarisi untuk
mencegah terjadinya intervensi dari user serta untuk pengamanan.
Selanjutnya dengan melakukan masking pada file creation dengan
menggunakan umask() untuk mencegah file-file previleges yang tidak
aman dalam setiap pembuatan file.
Yang kelima dengan
melakukan running directory, juga dengan mendengarkan signal yang
dapat merespon keika dikirimi signal tertentu. Dan yang terakhir
dengan melakukan logging, nah logging ini digunakan untuk menulis
suatu pesan dari daemon untuk mendebug kesalahan yang terjadi.
Nah sekarang nay
bakal menjelaskan sedikit bagaimana caranya buat memunculkan pop up
di linux. Isi dari pop up ini akan diambil dari dalam file lain. Di
dalam file lain ini isi dari stringnya akan dipisahkan dengan koma.
Contoh pop upnya itu kaya gini nih
Gimana sih cara
bikinnya? Nah ga susah ko. Yang pertama kalian harus buat daemonnya
dulu. Ini ada contoh penggunaan daemon nya.
#include
<sys/types.h>
#include
<sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <syslog.h>
#include <string.h>
int main(void) {
pid_t pid, sid;
pid = fork();
if (pid < 0) {
exit(EXIT_FAILURE);
}
if (pid > 0) {
exit(EXIT_SUCCESS);
}
umask(0);
sid = setsid();
if (sid < 0) {
exit(EXIT_FAILURE);
}
if
((chdir("/home/nadia/nay/modul2")) < 0) {
exit(EXIT_FAILURE);
}
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
“chdir”
digunakan untuk untuk merubah direktori ke direktori modul2. Fungsi
umask() digunakan untuk menset hak akses dari file yang akan dibuat
oleh proses yang berjalan saat itu. Fungsi sestsid() digunakan untuk
membuat proses bekera secara indpenden.
Selanjutnya
teman-teman harus buat filenya dulu untuk dimunculkan ke pop upnya.
Kalo nay buat nama filenya “virus.txt”. Untuk memunculkan pop up
pada linux dapat ditampilkan dengan cara
// untuk membuka
file virus.txt
FILE
*open=fopen("virus.txt","r"); //
char a;
char b[100];
int count=0;
//menyimpan char ke
dalam array
while (1) {
fscanf(open,"%c",&a);
if(a!=','){
b[count]=a;
count++;
}
// apabila sudah
diakhir file langsung break
else if(a==EOF)
break;
else if(a==','){
// menamppilka
string ke dalam pop up
printf("%s\n",b);
char c[]="zenity
--warning --text=\"";
strcat(c,b);
strcat(c,"\"");
system(c);
count=0;
}
// jeda waktu
pemunculan pop up
sleep(3);
}
exit(EXIT_SUCCESS);
}
oke, sekian apdetan
blog nay ini, semoga bermanfaat yaaahh. Tetep semangat dan jangan
mgampang nyerah yaa.. salam sayang dari nay :* ;)
Komentar
Posting Komentar