Haloo sobat2 sekalian :D .Sesuai postingan lalu,kali ini saya akan memberikan codingan FUSE.c
disini saya beri nama fusexmp.c.Kodingannya cukup panjang ._. tapi ini hanya sekedar template kok..Bisa dipahami :D
Untuk Codingannya sebagai berikutt
/*
FUSE: Filesystem in Userspace
Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu>
Copyright (C) 2011 Sebastian Pipping <sebastian@pipping.org>
This program can be distributed under the terms of the GNU GPL.
See the file COPYING.
gcc -Wall fusexmp.c `pkg-config fuse --cflags --libs` -o fusexmp
*/
#define FUSE_USE_VERSION 26
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef linux
/* For pread()/pwrite()/utimensat() */
#define _XOPEN_SOURCE 700
#endif
#include <fuse.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <dirent.h>
#include <errno.h>
#include <sys/time.h>
#ifdef HAVE_SETXATTR
#include <sys/xattr.h>
#endif
static int xmp_getattr(const char *path, struct stat *stbuf)
{
int res;
res = lstat(path, stbuf);
if (res == -1)
return -errno;
return 0;
}
static int xmp_access(const char *path, int mask)
{
int res;
res = access(path, mask);
if (res == -1)
return -errno;
return 0;
}
static int xmp_readlink(const char *path, char *buf, size_t size)
{
int res;
res = readlink(path, buf, size - 1);
if (res == -1)
return -errno;
buf[res] = '\0';
return 0;
}
static int xmp_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
off_t offset, struct fuse_file_info *fi)
{
DIR *dp;
struct dirent *de;
(void) offset;
(void) fi;
dp = opendir(path);
if (dp == NULL)
return -errno;
while ((de = readdir(dp)) != NULL) {
struct stat st;
memset(&st, 0, sizeof(st));
st.st_ino = de->d_ino;
st.st_mode = de->d_type << 12;
if (filler(buf, de->d_name, &st, 0))
break;
}
closedir(dp);
return 0;
}
static int xmp_mknod(const char *path, mode_t mode, dev_t rdev)
{
int res;
/* On Linux this could just be 'mknod(path, mode, rdev)' but this
is more portable */
if (S_ISREG(mode)) {
res = open(path, O_CREAT | O_EXCL | O_WRONLY, mode);
if (res >= 0)
res = close(res);
} else if (S_ISFIFO(mode))
res = mkfifo(path, mode);
else
res = mknod(path, mode, rdev);
if (res == -1)
return -errno;
return 0;
}
static int xmp_mkdir(const char *path, mode_t mode)
{
int res;
res = mkdir(path, mode);
if (res == -1)
return -errno;
return 0;
}
static int xmp_unlink(const char *path)
{
int res;
res = unlink(path);
if (res == -1)
return -errno;
return 0;
}
static int xmp_rmdir(const char *path)
{
int res;
res = rmdir(path);
if (res == -1)
return -errno;
return 0;
}
static int xmp_symlink(const char *from, const char *to)
{
int res;
res = symlink(from, to);
if (res == -1)
return -errno;
return 0;
}
static int xmp_rename(const char *from, const char *to)
{
int res;
res = rename(from, to);
if (res == -1)
return -errno;
return 0;
}
static int xmp_link(const char *from, const char *to)
{
int res;
res = link(from, to);
if (res == -1)
return -errno;
return 0;
}
static int xmp_chmod(const char *path, mode_t mode)
{
int res;
res = chmod(path, mode);
if (res == -1)
return -errno;
return 0;
}
static int xmp_chown(const char *path, uid_t uid, gid_t gid)
{
int res;
res = lchown(path, uid, gid);
if (res == -1)
return -errno;
return 0;
}
static int xmp_truncate(const char *path, off_t size)
{
int res;
res = truncate(path, size);
if (res == -1)
return -errno;
return 0;
}
#ifdef HAVE_UTIMENSAT
static int xmp_utimens(const char *path, const struct timespec ts[2])
{
int res;
/* don't use utime/utimes since they follow symlinks */
res = utimensat(0, path, ts, AT_SYMLINK_NOFOLLOW);
if (res == -1)
return -errno;
return 0;
}
#endif
static int xmp_open(const char *path, struct fuse_file_info *fi)
{
int res;
res = open(path, fi->flags);
if (res == -1)
return -errno;
close(res);
return 0;
}
static int xmp_read(const char *path, char *buf, size_t size, off_t offset,
struct fuse_file_info *fi)
{
int fd;
int res;
(void) fi;
fd = open(path, O_RDONLY);
if (fd == -1)
return -errno;
res = pread(fd, buf, size, offset);
if (res == -1)
res = -errno;
close(fd);
return res;
}
static int xmp_write(const char *path, const char *buf, size_t size,
off_t offset, struct fuse_file_info *fi)
{
int fd;
int res;
(void) fi;
fd = open(path, O_WRONLY);
if (fd == -1)
return -errno;
res = pwrite(fd, buf, size, offset);
if (res == -1)
res = -errno;
close(fd);
return res;
}
static int xmp_statfs(const char *path, struct statvfs *stbuf)
{
int res;
res = statvfs(path, stbuf);
if (res == -1)
return -errno;
return 0;
}
static int xmp_release(const char *path, struct fuse_file_info *fi)
{
/* Just a stub. This method is optional and can safely be left
unimplemented */
(void) path;
(void) fi;
return 0;
}
static int xmp_fsync(const char *path, int isdatasync,
struct fuse_file_info *fi)
{
/* Just a stub. This method is optional and can safely be left
unimplemented */
(void) path;
(void) isdatasync;
(void) fi;
return 0;
}
#ifdef HAVE_POSIX_FALLOCATE
static int xmp_fallocate(const char *path, int mode,
off_t offset, off_t length, struct fuse_file_info *fi)
{
int fd;
int res;
(void) fi;
if (mode)
return -EOPNOTSUPP;
fd = open(path, O_WRONLY);
if (fd == -1)
return -errno;
res = -posix_fallocate(fd, offset, length);
close(fd);
return res;
}
#endif
#ifdef HAVE_SETXATTR
/* xattr operations are optional and can safely be left unimplemented */
static int xmp_setxattr(const char *path, const char *name, const char *value,
size_t size, int flags)
{
int res = lsetxattr(path, name, value, size, flags);
if (res == -1)
return -errno;
return 0;
}
static int xmp_getxattr(const char *path, const char *name, char *value,
size_t size)
{
int res = lgetxattr(path, name, value, size);
if (res == -1)
return -errno;
return res;
}
static int xmp_listxattr(const char *path, char *list, size_t size)
{
int res = llistxattr(path, list, size);
if (res == -1)
return -errno;
return res;
}
static int xmp_removexattr(const char *path, const char *name)
{
int res = lremovexattr(path, name);
if (res == -1)
return -errno;
return 0;
}
#endif /* HAVE_SETXATTR */
static struct fuse_operations xmp_oper = {
.getattr = xmp_getattr,
.access = xmp_access,
.readlink = xmp_readlink,
.readdir = xmp_readdir,
.mknod = xmp_mknod,
.mkdir = xmp_mkdir,
.symlink = xmp_symlink,
.unlink = xmp_unlink,
.rmdir = xmp_rmdir,
.rename = xmp_rename,
.link = xmp_link,
.chmod = xmp_chmod,
.chown = xmp_chown,
.truncate = xmp_truncate,
#ifdef HAVE_UTIMENSAT
.utimens = xmp_utimens,
#endif
.open = xmp_open,
.read = xmp_read,
.write = xmp_write,
.statfs = xmp_statfs,
.release = xmp_release,
.fsync = xmp_fsync,
#ifdef HAVE_POSIX_FALLOCATE
.fallocate = xmp_fallocate,
#endif
#ifdef HAVE_SETXATTR
.setxattr = xmp_setxattr,
.getxattr = xmp_getxattr,
.listxattr = xmp_listxattr,
.removexattr = xmp_removexattr,
#endif
};
int main(int argc, char *argv[])
{
umask(0);
return fuse_main(argc, argv, &xmp_oper, NULL);
}
Sekian dan Terima Kasih :))
Sabtu, 29 November 2014
Jumat, 28 November 2014
Instal Fuse
Halo Pembaca :D sesuai janji,kali ini saya akan memberikan tutorial menginstal FUSE pada linux kalian
Langkah Pertama :
Langkah Pertama :
2. Extract file tat.gz dan masuk ke direktori fuse
3.
Lakukan instalasi fuse dengan cara:
[1] gunakan hak akses super user (sudo su)
[2] ketikkan perintah ./configure
[3] ketikkan perintah make
[4] ketikkan perintah make install
4.FUSE siap digunakan
Gimana :D Mudah kann? pada Postingan berikutnya saya akan memberikan Codenya Fuse
Sekian terima Kasih
FUSE
Haloo Pembaca yang budiman :D apa kabar? Lama tidak memposting..
Kali ini saya akan membahas mengenai FUSE :D
apa itu fuse?
FUSE(FileSystem In UserSpace) /sistem berkas adalah struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada harddisk.
Terdapat berbagai jenis-jenisnya dan penggunaan algoritma yang berbeda. Semakin baru jenis dari sebuah File System, maka semakin bagus pula kualitas dari File System tersebut.
Kali ini saya akan membahas mengenai FUSE :D
apa itu fuse?
FUSE(FileSystem In UserSpace) /sistem berkas adalah struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada harddisk.
Terdapat berbagai jenis-jenisnya dan penggunaan algoritma yang berbeda. Semakin baru jenis dari sebuah File System, maka semakin bagus pula kualitas dari File System tersebut.
Macam-macam file system:
•
NTFS
•
EXT4
•
FAT32
•
JFS (Journal File System)
•
Reiser FS
•
dsb.
Bisa dibilang juga fuse ini adalah semacam membuat bayangan dari suatu direktori untuk mengakses isi / direktori file tertentu..sehingga memudahkan user untuk mengedit bahkan menghapus..Bisa juga untuk proteksi data yang tidak boleh diakses
Oke pada Postingan Berikutnya akan saya ajarkan bagaimana menginstal fuse :)
Sekian dan terima kasih
Sekian dan terima kasih
Minggu, 16 November 2014
Thread
Haloo semuanyaa,sekarang saya akan membahas mengenai apa itu thread :)
Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor
1.Tanggap: Multithreading mengizinkan program untuk berjalan terus walau pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
Ada tiga tipe dari model yang berhubungan dengan user dan kernel thread.
1.Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.
2.Model one to one: memetakan setiap user thread ke dalam satu kernel thread. Berakhir.
3.Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
![]() |
| cacing?? @_@ |
Keuntungan Thread
1.Tanggap: Multithreading mengizinkan program untuk berjalan terus walau pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
2.Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi memori yang sama.
3.Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
4.Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu
1.Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.
2.Model one to one: memetakan setiap user thread ke dalam satu kernel thread. Berakhir.
3.Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
Okee sekilas mengenai thread :D,jumpa lagi pada postingan berikutnyaa
Proses
Haii2,kali ini sayaa akan membahas tentang proses :3
apa sih proses itu?dalam sistem operasi khususnyaa?
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.
Pengelolaan Proses
Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
Perkembangan sistem komputer mendatang adalah menuju ke sistem multi- processing, multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan. Hal demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi (proses-proses yang kongkuren).
Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik.
sumber: http://sistem-operasi-universitas.blogspot.com/2011/10/pengertian-proses-dalam-sistem-operasi.html
apa sih proses itu?dalam sistem operasi khususnyaa?
![]() |
| Add caption |
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.
Pengelolaan Proses
Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
Perkembangan sistem komputer mendatang adalah menuju ke sistem multi- processing, multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan. Hal demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi (proses-proses yang kongkuren).
Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik.
sumber: http://sistem-operasi-universitas.blogspot.com/2011/10/pengertian-proses-dalam-sistem-operasi.html
Minggu, 02 November 2014
Client Server
Haloo2,postingan kali ini akan membahas mengenai client dan server ^^
Berikut ini saya akan mempost codingan beserta comment2 penjelasan membuat server dan client di C dengan memakai socket
berikut codingannya
Server
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
int socket_desc , client_sock, c , read_size;/* deklarasi variabel yg diperlukan */
struct sockaddr_in server, client;
char client_message[2000];
//create socket
socket_desc = socket(AF_INET , SOCK_STREAM, 0); // inisialisasi
if(socket_desc == -1) // klo buat server itu defaultnya 0, jadi klo misal -1 artinya socket nya ga bisa dibuat
{
printf("could not create socket");
}
puts("Socket Created"); // penanda pembuatan socket berhasil
// prepare the sockaddr_in structure
server.sin_family = AF_INET; // semua server.sin itu isi dari struct untuk alamt socket
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons( 8888 );
// bind
if(bind(socket_desc,(struct sockaddr *)&server, sizeof(server)) < 0) // binding intinya mengikat alamat dari client nya nanti
{ // defaultnya sama nilai 0, jika <0 berarti gagal
// print the error message
perror("bind failed. Error");
return 1;
}
puts("bind done");
// listen : nunggu command dari client, biasanya kita yg kasi server disuruh apa itu ditulis di client
listen(socket_desc, 3);
//accept and incoming connection
puts("waiting for incoming connections . . .");
c = sizeof(struct sockaddr_in);
// accept connection from an incoming client
client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c);
if(client_sock < 0)
{
perror("accept failed");
return 1;
}
puts("connection accepted");
// receive message from client
while( (read_size = recv(client_sock, client_message, 2000, 0)) > 0 )
{
//send the message back to client
write(client_sock, client_message, strlen(client_message));
}
if(read_size == 0)
{
puts("Client disconnected");
fflush(stdout);
}
else if(read_size == -1)
{
perror("recv failed");
}
return 0;
}
Jalanin dulu nanti yang server ,baru jalanin yang client :)
nanti message yg ada di client akan dibalas sama persis oleh server (berdasarkan codingannya)
okehh sekian :)
Berikut ini saya akan mempost codingan beserta comment2 penjelasan membuat server dan client di C dengan memakai socket
berikut codingannya
Server
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
int socket_desc , client_sock, c , read_size;/* deklarasi variabel yg diperlukan */
struct sockaddr_in server, client;
char client_message[2000];
//create socket
socket_desc = socket(AF_INET , SOCK_STREAM, 0); // inisialisasi
if(socket_desc == -1) // klo buat server itu defaultnya 0, jadi klo misal -1 artinya socket nya ga bisa dibuat
{
printf("could not create socket");
}
puts("Socket Created"); // penanda pembuatan socket berhasil
// prepare the sockaddr_in structure
server.sin_family = AF_INET; // semua server.sin itu isi dari struct untuk alamt socket
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons( 8888 );
// bind
if(bind(socket_desc,(struct sockaddr *)&server, sizeof(server)) < 0) // binding intinya mengikat alamat dari client nya nanti
{ // defaultnya sama nilai 0, jika <0 berarti gagal
// print the error message
perror("bind failed. Error");
return 1;
}
puts("bind done");
// listen : nunggu command dari client, biasanya kita yg kasi server disuruh apa itu ditulis di client
listen(socket_desc, 3);
//accept and incoming connection
puts("waiting for incoming connections . . .");
c = sizeof(struct sockaddr_in);
// accept connection from an incoming client
client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c);
if(client_sock < 0)
{
perror("accept failed");
return 1;
}
puts("connection accepted");
// receive message from client
while( (read_size = recv(client_sock, client_message, 2000, 0)) > 0 )
{
//send the message back to client
write(client_sock, client_message, strlen(client_message));
}
if(read_size == 0)
{
puts("Client disconnected");
fflush(stdout);
}
else if(read_size == -1)
{
perror("recv failed");
}
return 0;
}
Jalanin dulu nanti yang server ,baru jalanin yang client :)
nanti message yg ada di client akan dibalas sama persis oleh server (berdasarkan codingannya)
okehh sekian :)
Zombie Proccess
Haii lagii :D kali ini postingan saya akan membahas mengenai zombie procces..
Apaan itu? :o tenang jangan khawatir,,nggak serem kok,bukan kyk zombie2 yg di film2 ._.
![]() |
| BRAIN!! |
okee kita mulai saja,apa itu Zombie proccess?
Zombie process adalah sebuah proses pada sistem operasi yang telah menyelesaikan eksekusinya tetapi terdapat pada entry process.
Di dalam sistem operasi UNIX terdapat sebuah konsep parent process dan child process. Dengan menggunakan system call fork. Sebuah process dapat menciptakan sebuah process lain yang menduplikasikan seluruh image dari process tersebut.
System call fork() memberikan nilai kembalian process id child pada parent dan nilai 0 pada child process. Jika forking gagal dilakukan maka nilai kembaliannya adalah bilangan negatif. Dengan cara ini child process dan parent process dapat diatur sehingga dapat melakukan aksi yang berbeda.
Sumber :http://blog.petrabarus.net/2008/08/zombie-process/#sthash.vES8bHt9.dpuf
Daemon
Haloo,bertemu lagi nihh :D
yuup masih membahas mengenai sistem operasi,kali ini saya akan memposting tentang daemon
Apa itu Daemon?

Dalam Unix dan sistem operasi multitasking lainnya, Jurik atau Demit (Inggris: daemon)
Dalam bahasa Indonesia sendiri, daemon berarti Jurik atau Demit atau kita bisa menyebutnya Hantu. Ya memang benar jika dilihat dari sifatnya, daemon adalah sebuah proses yang bekerja di background serta tidak memiliki interface pengontrol (proses yang tidak terlihat).
Dalam keluarga Windows, service memiliki konsep yang sama dengan daemon. Service berjalan sebagai sebuah proses, umumnya tidak berinteraksi dengan keyboard, monitor dan mouse, serta pada umumnya prosesnya dimulai pada saat booting. Daemon biasanya bekerja untuk jangka waktu yang sangat lama dan bertugas "mendengarkan" request dan menjalankan responsnya.
Daemon process sendiri di Sistem Operasi Symbian dikenal dengan nama process saja. Contohnya process alarmserver.exe yang bertugas sebagai alarm server, btserver.exe pengendali Bluetooth, UsbWatcher.exe dan usbsrv.exe untuk pengendali USB kabel, dan masih banyak lagi hantu-hantu yang berkeliaran.
Mari kita coba membuat daemon di linux
#!/bin/bash
echo "running ehcp daemon in shell background..."
VAL=1
while true;
do date # untuk menampilkan tanggal dan waktu
sleep 5 done
simpan dengan nama tesDaemon
beri hak untuk execute (ganti lokasianda dengan lokasi file daemonnya disimpan)
sudo chmod +x /lokasianda/tesDaemon
kemudian eksekusi
./tesDaemon
daemon tersebut dapat dihentikan dengan tombol Cntrl C
jika ingin daemon tersebot running under Background tambahkan tanda &
sudo chmod +x /lokasianda/tesDaemon &
untuk menghentikan daemon yang berjalan underbackground maka kill prosesnya, caranya
ps -ax | grep tesDaemon
kemudian kill prosesnya ,misal pid prosesnya =2020
kill 2020
Tool untuk memanajemen daemon
untuk memanage daemon anda bisa menggunakan tool sysv-rc-conf
instalasinya
1
sudo apt-get install sysv-rc-conf
cara panggilnya sysv-rc-conf

Okee sekian dulu tentang daemon,sampai jumpa di postingan berikutya :D
Langganan:
Postingan (Atom)








