Cara Proses dan Manajemen Proses Pada Linux

Konsep pada sebuah Proses dan Manajemen Proses pada Linux, yaitu  untuk memahami konsep proses pada sistem operasi Linux, mengetahui beberapa cara menampilkan hubungan proses parent dan child, menampilkan status proses dengan beberapa format berbeda, dan melakukan pengontrolan proses pada shell, nah dabawah ini kita akan megetahui lebih lanjut tentang konsep proses dan manajemen proses pada linux:

      A.     Dasar Teori
1. Konsep Proses pada Sistem Operasi Linux
Proses  adalah  program  yang  sedang  dieksekusi.   Setiap  kali  menggunakan utilitas sistem  atau  program  aplikasi  dari  shell,  satu  atau  lebih  proses  child akan dibuat oleh  shell  sesuai  perintah  yang  diberikan.    Setiap  kali  instruksi  diberikan  pada Linux shell, maka kernel akan menciptakan sebuah proses-id. Proses ini disebut juga dengan terminology Unix sebagai sebuah Job. Proses Id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (terdaftar pada /etc/inittab).
Beberapa tipe proses :
a.       Foreground
Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog)
b.      Batch
Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu).  Prose Batch tidak diasosiasikan (berinteraksi) dengan terminal.
c.       Daemon
Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankan tugas sesuai dengan permintaan tersebut. Bila tidak ada request, maka program ini akan berada dalam kondisi â€Å“idle” dan tidak menggunakan waktu hitung CPU. Umumnya  nama  proses  daemon  di  UNIX  berakhiran  d,  misalnya  inetd,  named, pop, dll.

2. Sinyal
Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. Proses mengirim sinyal melalui instruksi â€Å“kill” dengan format
kill [-nomor sinyal] PID
Nomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan system Standar nomor sinyal yang terpenting adalah :

3. Mengirim Sinyal
Mengirim sinyal adalah satu alat komunikasi antar proses, yaitu memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harus dikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi danadministrator/programmer dapat menentukan reaksi tersebut. Mengirim sinyal menggunakan instruksi
kill [-nomor sinyal] PID
Sebelum mengirim sinyal PID proses yang akan dikirim harus diketahui terlebih dahulu.

4. Mengontrol Proses Pada Shell
Shell menyediakan fasilitas job control yang memungkinkan mengontrol beberapa job atau proses yang sedang berjalan pada   waktu yang sama. Misalnya bila melakukan pengeditan  file  teks  dan  ingin  melakukan  interrupt  pengeditan  untuk mengerjakan hal lainnya. Bila selesai, dapat kembali (switch) ke editor dan melakukan pengeditan file teks kembali.
Job bekerja pada foreground atau  background.  Pada foreground hanya diperuntukkan untuk satu job pada satu waktu. Job pada  foreground akan mengontrol shell  -  menerima input  dari  keyboard  dan  mengirim  output  ke  layar.    Job  pada background  tidak menerima input dari terminal, biasanya berjalan tanpa memerlukan interaksi.
Job  pada  foreground kemungkinan  dihentikan  sementara  (suspend),  dengan menekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan kembali pada Foreground atau background sesuai keperluan dengan menekan “fg” atau ”bg”. Sebagai catatan, menghentikan job sementara sangat berbeda  dengan melakuakan interrupt job (biasanya menggunakan [Ctrl-C]), dimana  job  yang  diinterrup  akan  dimatikan  secara permanen dan tidak dapat dijalankan lagi.

5. Mengontrol Proses Lain
Perintah ps dapat digunakan untuk menunjukkan semua proses yang sedang berjalan pada mesin (bukan hanya proses pada shell saat ini) dengan format :
Ps-fae atau
ps–aux
Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang menyediakan cara interaktif untuk memonitor aktifitas sistem. Statistik secara detail dengan proses yang berjalan  ditampilkan  dan  secara  terus-menerus  di-refresh.  Proses  ditampilkan  secara terurut dari utilitas CPU. Kunci yang berguna pada top adalah :
s-set update frequency
u-display proses dari satu user
k-kill proses (dengan PID)
q-quit
Utilitas untuk melakukan pengontrolan proses dapat ditemukan pada sistem UNIX adalah perintah   kill all. Perintah ini akan menghentikan proses sesuai PID atau job number proses.

       B.    Praktikum
1. Status Proses
a.       Masuk  pada  terminal  atau  pindah  pada  command  line  terminal  (tty2),  dengan menekan tombol Ctrl+Alt+T atau Ctrl+Alt+F2, lalu login sebagai user
b.      Melihat kondisi proses yang ada
c.       Melihat faktor/elemen lainnya
d.      Mencari proses yang spesifik dari pemakai
e.       Mencari proses lainnya dengan menggunakan opsi a(all) atau au(all user) 

    f.       Untuk keluar ketikkan logout atau tekan Alt+F7

2. Menampilkan Hubungan Proses Parent dan Child
a.       Login kembali pada command line terminal (tty2)
b.      Melihat proses parent dan child
Opsi  e memilih  semua  proses  dan  opsi  H  menghasilkan  tampilan  proses  secara hierarki. Proses child muncul dibawah proses parent.
c.       Menampilkan status proses dengan karakter grafis (\ dan _)

d.      Menampilkan semua proses pada sistem dalam bentuk hirarki parent/child
e.       Untuk melihat semua PID untuk proses
f.       Untuk menampilkan proses dan ancestor yang tercetak tebal

3. Menampilkan Status Proses dengan Berbagai Format
a.       Menampilkan semua proses dalam bentuk 4 kolom
b.      Menampilkan semua proses dalam bentuk 5 kolom
c.       Menampilkan semua proses dalam format daftar penuh
d.      Menampilkan semua proses dalam format sesuai defiinisi user, yaitu dari kolom PID dan CMD

4. Mengontrol Proses Pada Shell
a.       Mengirim output yang tidak pernah berhenti
b.      Membelokkan standar output ke /dev/null