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