KONSEP PROSES DI LINUX
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 :
Proses yang diciptakan oleh pemakai langsung pada terminal
(interaktif, dialog)
• Batch
Proses yang dikumpulkan dan dijalankan secara sekuensial (satu
persatu). Prose Batch tidak diasosiasikan(berinteraksi) dengan
terminal.
• 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, popd
dll
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 :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 dan administrator/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.LANGKAH – LANGKAH
1. Masuk ke sistem operasi Linux.
2. Login sebagai stD3XXYYY.
3. Gunakan instruksi status proses : ps.
4. Gunakan instruksi untuk mengelola sinyal : kill, trap, nohup
Percobaan
1 : Status Proses
1.
1. Instruksi ps (process status) digunakan untuk
melihat kondisi proses yang ada. PID adalah Nomor Identitas Proses, TTY adalah
nama terminal dimana proses tersebut aktif, STAT berisi S (Sleeping) dan R
(Running), COMMAND merupakan instruksi yang digunakan.
2. 2.Untuk melihat factor/elemen lainnya, gunakan
option –u (user). %CPU adalah presentasi CPU time yang digunakan oleh proses
tersebut, %MEM adalah presentasi system memori yang digunakan proses, SIZE adalah
jumlah memori yang digunakan, RSS (Real System Storage) adalah jumlah memori
yang digunakan, START adalah kapan proses tersebut diaktifkan
Hasil untuk no.1-3
1. 4. Mencari proses lainnya gunakan option a (all)
dan au (all user)
Percobaan
2 : Sinyal
1. 1. Membuat shell script dengan nama loop.sh
2. 1. 2. Eksekusi file loop.sh sebagai background
3.Melihat proses id
4.Menghentikan proses. Nomor 15 (SIGTERM)
merupakan default
5.Menghentikan proses secara mutlak
Percobaan
3 : Mengelola sinyal
1. 1.. Membuat file prog.sh
2. 2.Jalankan program tersebut. Karena program
melakukan looping, maka stop dengan
mengirim sinyal interrupt (^C)
3.Jalankan program tersebut sebagai background.
Catat nomor PID proses, tekan
Enter untuk ke foreground dan periksa melalui
instruksi ps
4.Kirimkan sinyal terminasi sebagai berikut
5.Ubahlah program prog.sh dengan instruksi trap
untuk menangkap sinyal yang
dikirim
PID proses tersebut.
perintah trap. Cobalah menggunakan Nomor sinyal
9
Hasil untuk no.6-7
Percobaan
4 : No Hangup
1. 1. Adakalanya sebuah proses memerlukan waktu
yang cukup lama, misalnya proses
sortir, sehingga perlu dilakukan sebagai
proses background. Namun bila proses
masih berlangsung dan kita melakukan
logout, maka otomatis proses akan ikut
berhenti, yang artinya proses sortir
harus diulang kembali. Simulasi dari proses
sort
2.Jalankan proses tersebut sebagai
proses background
3.Kemudian logout dan login kembali. Periksa
sampai dimana job bekerja.
4.Gunakan nohup (NoHangup) agar job tetap berjalan meskipun pemakai
logout.
Catatan : fungsi ini tidak berjalan di non system V (Linux)
5.Kemudian logout dan login kembali. Periksa
apakah job masih bekerja.
Salam Teknik Komputer, Polsri





















Tidak ada komentar:
Posting Komentar