Definisi Process

Process adalah instance dari program yang sedang dijalankan oleh sistem operasi. Ketika kamu menjalankan sebuah aplikasi, Linux membuat process sebagai entitas yang bertanggung jawab atas eksekusi program tersebut.


Identitas dan Struktur Process

Setiap process memiliki informasi utama berikut:

Komponen Deskripsi
PID Process ID, nomor unik untuk mengidentifikasi process
PPID Parent Process ID, PID dari process induk yang membuatnya
UID/GID User ID dan Group ID pemilik process
State Status process saat ini (Running, Sleeping, dll)
Priority Prioritas CPU yang menentukan waktu eksekusi process
Resources Memori, file descriptor, CPU usage, dan resource lain yang digunakan process

Life Cycle dan Status Process (Process States)

Process berjalan dalam beberapa state, berikut penjelasan lengkap tiap status:

State Penjelasan
Running (R) Process sedang aktif dijalankan oleh CPU.
Interruptible Sleep (S) Process menunggu event (input/output/data). Proses ini bisa "dibangunkan" kembali.
Uninterruptible Sleep (D) Process menunggu resource yang tidak bisa diganggu (misal: I/O disk). Proses ini tidak bisa dihentikan sembarangan.
Stopped (T) Process dihentikan secara manual atau karena breakpoint debugging.
Zombie (Z) Process sudah selesai tapi masih ada entry di tabel proses karena menunggu parent mengambil statusnya (wait). Proses ini tidak menggunakan resource CPU, tapi tetap ada di tabel proses.
Tracing (t) Process sedang ditrace/debug oleh proses lain.

Foreground vs Background Process


Daemon Process

Daemon adalah jenis process khusus yang berjalan di background tanpa interaksi user langsung.