Sabtu, 25 Oktober 2014

Process Programming

Process ID di Linux
·         Setiap proses di Linux memiliki PID (Process ID)
·         PID: 16 bit integer yang keluar secara berurutan
·         Setiap proses memiliki parent process, kecuali process init
Membuat proses baru (proses anak)
Proses anak perlu hanya pada waktu-waktu tertentu saja. Salah satunya ketika kita ingin menggunakan terminal. Terminal tersebut tidak bekerja sendiri, namun terminal memiliki proses-proses anak ini yang ikut membantu dalam mengerjakan tugasnya.

Ada 3 cara untuk membuat proses baru melalui kode program
·       -  Fungsi system()
·         -System call fork()
·         -Fungsi exec* family

System()
Menjalankan shell command
Definisi:
·         #include <sdlib.h>
·          int system (const char * string);

fork() – proses yang membelah diri
fork akan menduplikasi proses yang ada
proses hasil duplikasi disebut proses anak
definisi fungsi:
·         #include <unistd.h>
·         Pid_t_fork(void);
·         Pid_t vfork(void);
Return value dari fork() menentukan sedang ada di proses mana
·         > 0 – ada di parent process, return value merupakan pid dari child process
·         = 0 – ada di child process
·         < 0 – error

Keluarga Exec
Ciri-ciri:
Mengganti program yang sedang berjalan pada suatu proses

Signal
Sebuah event yg dikirimkan ke suatu proses oleh proses itu sendiri atau proses lain.
Digunakan untuk mengirimkan notifikasi kepada suatu proses bahwa ada suatu event.
Signal popular
SIGKILL   : mengakhiri eksekusi program sekarang juga
SIGTERM : mengakhiri eksekusi program
SIGSEGV  : diterima ketika program melakukan segmentation violation
SIGSTOP   : menghentikan sementara suatu proses sekarang juga
SIGCONT  : melanjutkan kembali program yang di-stop
SIGINT      : interrupt ke suatu proses

0 komentar:

Posting Komentar